7

У меня есть проект, в котором мне нужна настраиваемая панель, навигационный контроллер и элемент управления просмотром страниц в одном представлении. Мне удалось создать эту ошибку, но я столкнулся с ошибкой, которую я не могу решить:Почему этот UIScrollView не ведет себя правильно?

Первый элемент управления представлением в моем диспетчере просмотра страниц не устанавливает правильную высоту своего представления (точнее его значение Y). Прокрутка момента начинается с того, что устанавливается правильная высота.

Я создал минимальный testproject here.

Edit: Я попытался установить collectionView.contentInset и automaticallyAdjustsScrollViewInsets со всеми возможными комбинациями, но безрезультатно. Кто угодно?

ответ

3

Вы были спутаны с навигационной панелью и нижней панелью. Вот как это должно работать в вашем проекте в раскадровке для PageViewController:

enter image description here

Кроме того, я удалил строку automaticallyAdjustsScrollViewInsets = false и снял флажок в раскадровке.
Вы можете получить фиксированный проект here

+0

Спасибо, человек! Мне жаль, что я не успел наградить щедрость. Я очень доволен этим ответом! Я буду читать эту тему «протягивать края», и я, вероятно, узнаю немного о том, как работает UIScrollView. Еще раз спасибо! – vrwim

+0

Итак, у меня было это, и еще одна проблема заключалась в том, что мой UINavigationBar еще не имел правильной высоты, поэтому я проверил, является ли это «nil», и использовал жестко закодированное значение, чтобы предотвратить возникновение проблемы – vrwim

3

Попробуйте добавить automaticallyAdjustsScrollViewInsets = false для просмотра справки. Обратите внимание, что первая страница не находится под верхней панелью, а после прокрутки.

+1

Это работает. Контроллер просмотра страницы также использует вид прокрутки, так что к нему применяются автоматические вставки контроллера представления. Просмотр прокрутки контроллера просмотра страниц также предотвращает прокрутку вверх, когда вы нажимаете строку состояния. –

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