У меня есть макет следующим образом (с помощью AutoLayout, IPad):Изменить размер UIView внутри UIScrollView с помощью AutoLayout для прокрутки?
UIScrollView
имеет сверху, снизу, ведущий, Скользящее пространство к надтаблицам как 0. UIView
также имеет все четыре подобных ограничений. Второй UILabel
имеет свою высоту, установленную на 0 программно (поскольку здесь показан более чем экранный текст). Кроме того, эти ограничения на четыре контакта также были установлены с UIView
до UIScrollView
.
При загрузке XIB этот UILabel
отображает длинные строки текста правильно. Но прокрутка не работает. Это скриншот запущенного приложения на IPad в:
Желтый фон установлен на внешний вид и серую для UIView
. Если вы внимательно посмотрите в конце скриншота, текст UILabel
, кажется, переполняется мимо UIView
.
Я подозреваю, что, поскольку UIView
не может «захватить» размер это подвиды, то UIScrollView
не может вычислить это contentsize тоже (нет никаких оснований для прокрутки, чтобы работать, если его мнение содержания равно только один экран). Почему это происходит, даже когда UILabel
явно является подразделением UIView
? Если мои подозрения верны, Как установить высоту UIView
, равную фактическому размеру содержимого, чтобы мой UILabel
был правильно «содержался» в нем?
(Установка высоты UIView
, статическая статика не является вариантом).
NB: Протестировано XIB без UIView
и только один UILabel
(с длинным текстом) внутри UIScrollView
. Теперь прокрутка работает (поскольку, я полагаю, представление прокрутки может рассчитать размер его содержимого).
NB2: Я также пробовал ответы в this SO question и this post, но мой UIView
просто не выходит за пределы экрана. (Меня интересует только горизонтальная прокрутка)
Это было невероятно удивительно! Хитрость заключалась в том, чтобы иметь другой «UIView' ** вне **« UIScrollView », а затем установить ограничения« Равные высоты и ширины »из внутреннего *' UIView' на ** external ** 'UIView'. Огромное спасибо! –
Ваш прием. И не стесняйтесь обращаться за дополнительной помощью ... –
Спас день! .. и для всех, кто интересуется этим, я устанавливаю «Равные ширины» и «Равные высоты» из внутреннего UIView в сам scrollView. –