UIScrollView в раскадровке не работает с классами класса IOS 8 и автозапуском
Итак, я пытаюсь создать UIScrollView
только в раскадровке, что позволяет добавлять ярлыки прокрутки больше, чем высота VC. Вот что я сделал:
-
Созданный UIScrollView
, который занимал размер любой ширины любой высоты VC
-
Сделаны ограничения 0 для расстояния до ближайшего соседа сверху, снизу, слева и справа
-
Создано представление subView
UIScrollView
с той же шириной, что и любая ширина любой высоты VC, но высота 1500 (потому что я хочу, чтобы она прокручивалась по вертикали).
-
Установите ограничения для ближайшего соседа как 0 для ТОЛЬКО левого, верхнего и правого и установите ограничение высоты как 1500.
-
Я помещаю ярлык в начало subView
и внизу
Когда я запускаю приложение на iPhone 6, он не прокручивается по вертикали, как я этого хочу. Любые идеи, почему это не работает? Спасибо заранее.
Ответы
Ответ 1
Чтобы получить прокрутку, вы должны привязать суб-представление ( "представление контента" ) к верхнему, левому, нижнему и правому экрану прокрутки.
Кроме того, вы должны дать ему (для представления содержимого) явное (= не связанное с видом прокрутки) высоту и ширину, поскольку они используются scrollview для вычисления его размера содержимого.
В вашем случае установите ширину, равную ширине основного вида VC и высоте до 1500.
Когда ширина или высота больше размера прокрутки, она будет прокручиваться.
Ограничения вида прокрутки (прикреплены к главному виду)
![scroll view constraints]()
Содержимое (прикреплено к scrollview + height 1500, width = mainview width) + ограничения меток (в качестве примера: 20 20 из содержимого вверху слева)
![content view + label constraints]()
Ответ 2
Для более легкой визуализации я создал видео о том, как это сделать.
Видео о том, как создать прокрутку только по вертикали в iOS
Ответ 3
Вы установили размер содержимого больше, чем сам экран? В вашем случае, просто больше по высоте.
Как говорится в Apple Documentation:
Msgstr "Вы должны установить для свойства contentSize значение прокручиваемого содержимого. Это указывает размер прокручиваемой области."
Ответ 4
Единственное решение - это добавить ограничения вправо и снизу нижнего поднабора прокрутки.
Также проверьте, имеют ли все представления сверху вниз правильные ограничения вместе с высотой.
Для представления обертки представления прокрутки добавьте равную ширину и равную ограничение по высоте в его супервизор.