0

Я реализую CollectionView с пользовательским макетом. Он имеет вертикальную прокрутку. Я хочу, чтобы некоторые ячейки были прикреплены к вершине, прокручивая как заголовок раздела в tableView.iOS: CollectionView заголовок пачки при прокрутке

Идея заключается в создании коллекции dayView со временем. И пока пользователь будет прокручивать мысленное время, текущий час будет прикреплен к вершине (если он не будет виден и скрыт сверху). Это будет только в том случае, если текущий час будет скрыт сверху, а не снизу. И другие элементы должны прокручиваться, как обычно. Я думаю, что я не должен использовать дополнительные функции здесь

Возможно ли и как я могу это сделать?

ответ

0

Посмотрите на UICollectionViewsupplementaryView.

Apple's Collection View Programming Guide

+0

Ох, спасибо за ответ, но я думаю, что это будет не то, что мне нужно, я обновил свой вопрос с более подробной информацией –

1

Вы должны переопределить shouldInvalidateLayoutForBoundsChange так он возвращает YES. Это означает, что layoutAttributesForSupplementaryViewOfKind и layoutAttributesForElementsInRect вызывается, когда прокручивается UICollectionView, и там вы можете рассчитать правильные кадры для своих видов, включая липкие виды. Если у вас сложный UICollectionView, это может привести к плохой производительности, но насколько я знаю, это самый простой способ сделать это сейчас. Ваша другая ставка рассматривает контексты недействительности, но они довольно плохо документированы. Если вы все еще хотите поэкспериментировать с ними, вы можете взглянуть на Using Invalidation Contexts for UICollectionViewLayout

+0

ОК, спасибо за ваш ответ, поэтому для хранения липкой ячейки мне нужно использовать дополнительный вид? –

+0

Да, это был бы путь. Это руководство довольно хорошо объясняет это: http://dativestudios.com/blog/2015/01/10/collection_view_sticky_headers/ – mattsson

Смежные вопросы