iOS 11UICollectionView прокрутка вверх застревает с большими заголовками - PullRequest
0 голосов
/ 21 мая 2018

Заголовок полный, но вот что происходит.В iOS 11, когда у вас есть панель навигации с большими заголовками, вы прокручиваете пути вниз и нажимаете на строку состояния, она будет прокручиваться вверх.Когда он прокручивается до вершины, он застревает, прокручивая мимо вершины.

Это выглядит очень запутанно, вот пример после того, как он прокрутился до самого верха.Он прокручивался так далеко, что начал тянуть управление обновлением!scrolled too far

Кто-нибудь видел это и смог это исправить?Почта имеет большой заголовок и не имеет проблем, хотя, скорее всего, это не UICollectionView

Вот как это происходит: enter image description here

Что касается кода, это так просто, как я могу это сделать:

extension ViewController: UICollectionViewDataSource {
    public func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
        return 100
    }

    public func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
        let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "fakeCell", for: indexPath) as? UICollectionViewCell
        cell?.backgroundColor = [UIColor.black, .blue, .red, .green, .yellow][indexPath.row % 5]
        return cell!
    }

}

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

Пожалуйста, попробуйте это решение:

  • в viewDidLoad - установите extendedLayoutIncludesOpaqueBars = true
  • в раскадровке - сборка булавокПросмотрите верхнее ограничение для верхней части суперпредставления с константой = 0 (collectionView будет находиться под панелью навигациикогда прозрачный)

После этого, если вы нажмете на строку состояния, collectionView остановится в нужном месте.

0 голосов
/ 07 декабря 2018

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

0 голосов
/ 04 июля 2018

У меня была такая же проблема, как и у вас!

В моем случае мне удалось решить эту проблему с помощью навигационной панели Прозрачный :

enter image description here

Не спрашивайте меня, почему это работает ... Я понятия не имею

(у меня есть идея там https://stackoverflow.com/a/50639773)

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