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

Ответ 3

Вы установили размер содержимого больше, чем сам экран? В вашем случае, просто больше по высоте.

Как говорится в Apple Documentation: Msgstr "Вы должны установить для свойства contentSize значение прокручиваемого содержимого. Это указывает размер прокручиваемой области."

Ответ 4

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