2013-11-09 1 views
1

Я использую Interface Builder для создания этого интерфейса:Как получить TextView расширить при повороте экрана с портретной на альбомную прошивкой

И когда в портрете один и два TextViews заполнить ширину экрана (это то, что я хочу), но когда я поворачиваю его в ландшафтный режим, TextViews не занимают полную ширину экрана.

Как я могу заставить TextViews заполнить ширину экрана в ландшафтном режиме? В Interface Builder установлен флажок «Autolayout», и, если возможно, я хотел бы выполнить это, и он все еще проверяется, так как все остальное работает с ним лучше всего. Любые советы будут очень признательны, поскольку я все еще довольно новичок в программировании на iOS.

Теперь скриншоты размещены ниже. Если вы заметили текстовое поле Один, например, доходит до края в портретном представлении, но не в пейзажном представлении.

Portrait

Landscape

+0

Вы добавили какие-либо ограничения к UITextView?Использование AutoLayout означает, что вам нужно добавить ограничения, которые определяют отношения между представлениями и их дочерние элементы/супервизоры. Попробуйте выбрать представление, а в меню «Редактор» выберите «Подключить»> «Трейлинг» («Ведущий») для просмотра. – Graham

+0

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

+0

Авто макет с IB очень суетливый по моему опыту. Иногда удаление всех ограничений и их воссоздание, похоже, исправляют странное поведение. –

ответ

1

Если вы не хотите использовать AutoLayout, вы можете использовать следующие шаги.

1) В вашем XIB снимите флажок autoLayout.

enter image description here

2) Выберите TextField и установите autoResizeConstraints следующим образом.

enter image description here

Tyr это .... Это поможет вам ....

+0

Это правильный ответ, спасибо, что это сработало отлично! –

0

Вы можете изменить размер TextView программно, когда т изменится ландшафт в методе -(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration

0

Выберите UITextView и нажмите на кнопку "Вывод".

Щелкните по левому и правому ограничениям, чтобы они переходили от точечного красного до красного. Введите необходимое расстояние от супервизора. В моем примере 5 пикселей.

enter image description here

Помните, что эти два ограничения не достаточно, чтобы определить позицию UITextView. Для этого необходимо либо:

  • Pin вид для верхней или нижней части и обеспечивает высоту ограничение.

  • Штифта вида как к верхнему или нижнему

  • Центру просмотра вертикально в контейнере

  • Совместите вид с каким-либо другим подвидом, который имеет разрешаемое Y положения

+0

Это не работает для меня, я до сих пор не могу получить, что UITextView расширяется при повороте в ландшафт –

+0

Я проголосовал за ваш вопрос, чтобы дать вам достаточно репутации для публикации скриншотов. Опубликуйте их и посмотрим, что можно сделать :) – Nailer

+0

Извините за поздний ответ, но спасибо, что проголосовали за меня, и я добавлю фотографии сейчас. –