2017-01-30 14 views
0

Я хочу, чтобы текстовое поле расширялось (почти) до конца. Он отлично работает в портрете, но когда я поворачиваюсь на пейзаж, текстовое поле не распространяется, насколько я указал.uiview.trailing = trailing not working in landscape

Here is my project

and here is how it looks in landscape

Как вы можете видеть, текстовое поле не распространяется на всем пути к краю завершающим + 44.

Заранее спасибо за помощь

+0

При запуске приложения - есть ли у вас какие-либо комментарии об ограничениях в журнале? –

+0

нет, нет @GalMarom –

ответ

0

Эти поля находятся в режиме прокрутки, что вызывает это. Скроллвью начинается со значений по умолчанию в Interface Builder, а затем scrollview предпочитает сжимать его contentSize, а не расширять текстовое поле. Установите цвет фона scrollview, и вы увидите это.

Создание одной оси прокрутки, привязанной к кадру, размер прокрутки для одномерной прокрутки на удивление взломан для чего-то, что прокручивает запросы клиентов, вероятно, 90% времени. Причина в том, что ограничения супервизора в IB действуют на кадре scrollview, который является тем, что вы хотите изменить в кадре, , но. В IB нет способа ограничить просмотр до размера содержимого прокрутки.

Чтобы прокрутить список прокрутки в одном направлении, сначала получите два элемента с обеих сторон, которые имеют ограничения на поля прокрутки. В вашем случае, UILabelleading и UITextFieldtrailing. Добавьте ограничения, соединяющие их идентично с самым верхним UIView в иерархии. Затем они будут удерживать стороны прокрутки.

+0

Ok спасибо! Как ограничить их представлением? С всплывающим надписью «Добавить новые ограничения» я могу ограничить их только прокруткой. –

+0

Используйте «контур документа» (список объектов, которые запускаются «Сцена просмотра контроллера». Из этого вы можете управлять перетаскиванием, чтобы создать ограничения между верхний вид и подпрограммы scrollview. –