Как можно прокручивать только между Indexpath.section исключить indexpath.row в UICollectionView - PullRequest
0 голосов
/ 18 марта 2019

Есть ли способ прокрутки только между UICollectionView indexpath.section, исключая row, когда вызывается viewDidApper() или viewWillAppear()?

например. collectionView.scrollToItem(at: IndexPath(row: 0, section: anySectionNumber), at: .centeredHorizontally, animated: false)

Здесь я хочу прокручивать только между одним indexpath.section к другому indexpath.section и хочу избегать секции indexpath.row при прокрутке.

Ответы [ 2 ]

0 голосов
/ 02 мая 2019

Для прокрутки от одного IndexPath.section к другому, я добавляю новые items в collectionView только тогда, когда мне нужно было использовать boolean в collectionView.reloadData().

 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
   {
        if tabSelected
        {
           return 2
        }

        else
        {
          return 1
        }
}

Это отлично сработало для меня;)

0 голосов
/ 18 марта 2019

Если у вас нет заголовка раздела, то предоставленное вами решение (прокрутка до строки 0 в разделе) является правильным.Если вместо этого вы хотите прокрутить заголовок, то это немного сложнее, потому что для этого нет способа.Существует способ прокрутки к произвольному прямоугольнику в просмотре прокрутки: scrollRectToVisible (_: animated:) .Вы можете получить прямоугольник заголовка, вызвав layoutAttributesForSupplementaryView (ofKind: at:) и используя фрейм возвращенных атрибутов.(кадр находится в системе координат представления коллекции).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...