Определите положение прокрутки в представлении коллекции - PullRequest
0 голосов
/ 24 марта 2020

У меня есть представление коллекции, которое можно прокручивать по горизонтали. Он отображает список элементов по горизонтали. Это представление моей коллекции

Я хочу добавить элемент в середине представления коллекции, где в данный момент находится моя полоса прокрутки. Допустим, я перетаскиваю полосу прокрутки полностью вправо, тогда добавленный элемент должен быть в середине самого правого раздела. Как определить положение полосы прокрутки в представлении коллекции?

1 Ответ

0 голосов
/ 24 марта 2020

Существует свойство UICollectionView (точнее, его базового класса UIScrollView с именем contentOffset - оно указывает, сколько контента в данный момент перемещается (прокручивается).

Затем вам нужно использовать это значение и объедините его с половиной collectionView.frame.size.width, чтобы получить позицию, в которой вам нужно разместить новый элемент.

Теперь, когда у вас есть это, вам нужно использовать - (nullable UICollectionViewLayoutAttributes *)layoutAttributesForItemAtIndexPath:(NSIndexPath *)indexPath; и перебирать все элементы, чтобы найдите правильный indexPath, который вам нужно использовать для новых элементов.

NSIndexPath требуется для вставки новых элементов в конце. Как только вы это сделаете, вам нужно добавить новый элемент в dataSource и перезагрузить UICollectionView.

...