iOS - UIScrollView не прокручивается, хотя отображается полоса прокрутки - PullRequest
0 голосов
/ 19 ноября 2018

У меня есть представление прокрутки, а внутри него UIView под названием «Представление содержимого», которое содержит все мои элементы.

enter image description here

Представление Content равно верхнему, нижнему, ведущему и завершающему представлению Scroll. Также равны его ширина и высота.

Я тоже добавил self.scrollView.contentSize = self.contentView.frame.size в ViewDidLoad.

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

enter image description here

Что я делаю не так?

Спасибо!

Ответы [ 3 ]

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

Первое, что мне нужно было сделать, это то, что сказал пользователь 3199693: удалить эту строку из viewDidLoad (из-за которой показалась неправильная полоса прокрутки, которую я видел, чтобы она исчезла). Также, как он сказал, я установил ограничение ширины для ContentView равным ширине верхнего View.

Это было хорошо, но все еще не решило проблему. Что помогло было равно высота представления содержимого с видом сверху.

Получил идею от здесь .

0 голосов
/ 25 июня 2019

Я столкнулся с этой проблемой (или чем-то очень похожим), когда полоса прокрутки прокручивалась, но содержание этого не делало. Некоторое время это сводило меня с ума, потому что казалось, что все в представлении прокрутки было правильно ограничено в Интерфейсном Разработчике. Наконец, я заметил, что верхний элемент в контейнере scrollview (контейнер = представление внутри UIScrollView, содержащего все мои представления) был ограничен до верха выравниванием с представлением вне представления scrollview.

Как только я удалил ограничение, которое выравнивало верхнюю часть с внешним видом из ScrollView, и вместо этого выровнял его с основным контейнером в UIScrollView, все работало нормально. Надеюсь, это поможет в случае, если кто-то столкнется с этой проблемой, а другие упомянутые решения не исправят ее.

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

Представление Content равно верхнему, нижнему, начальному и конечному представлениям Scroll. Также равен его ширине и высоте.

Вам необходимо удалить ограничения ширины и высоты.Верх, низ, ведущий и трейлинг должны остаться.Также удалите эту настройку contentSize из viewDidLoad.

Я предполагаю, что вы хотите вертикальную прокрутку.В этом случае вы должны установить ограничение ширины contentView равным ширине View (не scrollView, а View, который является корнем иерархии).

Это должно сработать, предполагая, что вертикальные ограничения дочерних элементов ContentViewправильно настроен.

...