У меня есть макет следующим образом (с помощью AutoLayout, iPad):
UIScrollView
имеет верхнее, нижнее, ведущее, трейлинг-пространство для супервизора как 0. UIView
также имеет все четыре одинаковых ограничения. Второй UILabel
имеет свою высоту, установленную на 0 программно (так как здесь показан более чем экранный текст). Кроме того, эти четыре ограничения контактов также были установлены с UIView
до UIScrollView
.
Когда XIB загружен, этот UILabel
отображает длинные строки текста правильно. Но прокрутка не работает. Это скриншот запуска приложения на iPad:
Желтый фон установлен для внешнего вида, а серый - для UIView
. Если вы внимательно посмотрите в конце скриншота, текст UILabel
, кажется, переполняется через UIView
.
Я подозреваю, что, поскольку UIView
не может "захватить" размер его субвью, UIScrollView
не может также рассчитать его содержимое (нет причин для того, чтобы полоса прокрутки работала, если ее контентный вид равен только одному экрану), Почему это происходит, даже когда UILabel
явно является подразделением UIView
? Если мои подозрения верны, , как установить высоту UIView
, равную фактическому размеру содержимого, чтобы мой UILabel
был правильно "содержался" в нем?
(Установка высоты UIView
, статическая статика не является параметром).
NB: Протестировано XIB без UIView
и только один UILabel
(с длинным текстом) внутри UIScrollView
. Теперь прокрутка работает (поскольку, я полагаю, представление прокрутки может рассчитать размер его содержимого).
NB2: Я также пробовал ответы в этот вопрос SO и этот пост но мой UIView
просто не выходит за пределы экрана. (Меня интересует только горизонтальная прокрутка)