Вопрос

Я хотел бы построить NSCOLECTECTERVIEW, похожий на тот, который в Ифото '11. Я хочу сгруппировать несколько изображений в разделе, а также создать заголовок секции. Заголовок секции конкретного раздела всегда видна до тех пор, пока не будет виден последний элемент этого раздела. Вы можете взглянуть на картинку, чтобы понять, что я имею в виду.

РЕДАКТИРОВАТЬ: Я должен добавить, что содержимое не изображения.

enter image description here

заранее спасибо

Это было полезно?

Решение

Вам, вероятно, придется смотреть на использование Cameeres напрямую. NSCollectionView Получает большую часть своей магии от Coreanimation IIRC, и, похоже, вам, возможно, придется дублировать часть этого. В качестве альтернативы вы можете попробовать использовать вложенные виды сбора - одну, содержащую группы, тогда каждая группа содержит еще один вид на коллекцию отдельных элементов.

В любом случае, ваша иерархия просмотра/слоя будет такой же. У вас будет контейнер верхнего уровня, который имеет только один столбец (поскольку группы растягиваются по всей ширине), тогда каждый элемент внутри, который будет иметь любое количество столбцов, на основе ширины элемента. т.е. ваша коллекция «Группа». Просмотр предметов будет растягиваться, чтобы заполнить ширину, но ваши отдельные элементы в этих группах не будут.

Если вы решите использовать RAW CALayer подход, тогда вы захотите посмотреть CAConstraintLayoutManager. Анкет Это то, что обеспечивает магию внутри NSCollectionView. Анкет Хорошее место, чтобы начать поиск информации об этом Книга Coreanimation Билла Дадни от прагматических программистов. Анкет Билл теперь официальный евангелист платформы для Apple, поэтому я думаю, что можно с уверенностью сказать, что он знает, о чем он там говорит.

В целом, я бы предложил использовать вложенные NSCollectionView Подход к началу и посмотрите на то, чтобы сбросить необработанную кореанимацию, только если производительность, кажется, не хватает, или если у вас есть проблемы с тем, чтобы заставить что -то работать. С использованием NSCollectionView Позволяет сохранить все ваши текущие NSView-На месте, так что это будет меньше работы. Если это получается нормально, то вы дома и сухая. Если нет, у вас есть что -то еще, чтобы попробовать, что вы можете настроить до контента своего сердца.

Другие советы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top