Я нахожусь в петле с себя от того, где, чтобы получить размер ячейки в целях сбора в случае, если у меня есть ячейки с АвтокомпоновкаРасчет sizeForItemAtIndexPath в UICollectionView без использования клеток
Я понимаю, что sizeForItemAtIndexPath
должен получить размер от данных, а не от самой ячейки, потому что ячейка еще не нарисована, но в автоматическом макете я не могу рассчитать это, просто посмотрев на данные, если я не введю код в противоположения таким образом, чтобы я мог позже вычислить из них (кажется кривым)
С другой стороны, UIView имеет intrinsicContentSize
и systemLayoutSizeFittingSize
, что дает размер вида, который уже нарисован o r будет составлен.
Но в sizeForItemAtIndexPath у меня пока нет представления, и данные - это всего лишь данные.
клетка СИБ выглядит следующим образом
Каким образом я должен получить размер пользовательской ячейки (от .nib)?
Я мог технически жестко кодировать размеры изображений и значков, но это кажется неправильным. Также неправильно спрашивать, какой размер он имеет в функции, которая должна указывать контроллеру, какой размер это
Какие данные вы пытаетесь отобразить? Существует ** много ** способов получить размер, который данные ** будут отображаться на экране. Для текста вы можете получить ограничивающий прямоугольник для 'NSAttributedString'. Для изображения вы можете выяснить, насколько сильно вы хотите, чтобы он отображался на экране и т. Д. Вы также можете создать прокси-представление, которое вы можете использовать повторно для целей калибровки (в моем тестировании вы не можете создать экземпляр ячейки для этой цели). Дайте мне более подробную информацию, и я постараюсь дать вам более конкретный ответ. – mbm29414
Я добавил скриншот из лука –
А, ок. Если у вас есть пользовательский XIB, см. Этот ответ: http://stackoverflow.com/a/28161915/394484. Должен дать вам то, что вы хотите. – mbm29414