У меня есть scrollview, в котором cointains uitextfield, uitextview и две метки . Уитектфилд и две метки не прокручиваются. В портретном режиме все работает нормально. В ландшафтном режиме я изменяю размер прокрутки таким образом, чтобы метки не были видны, остается только заголовок и текст, но у меня есть проблема, когда пользователь пытается вставить текст в текстовое окно. Текущая позиция находится под заголовком, поэтому пользователь не может видеть, что он вставляет. Я бы опустил его. Использование масок автосохранения в IB, не меняйте ситуацию: мне нужно сделать гибким только uitextview. Что я могу попробовать? Я думал, что scrollRangeToVisible может мне помочь, но ничего.Как снизить текущее положение uitextview в ландшафтном режиме?
1
A
ответ
1
Попробуйте использовать
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation duration:(NSTimeInterval)duration {
или
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation {
в контроллере представления, чтобы разместить UITextView, где вам это нужно, в зависимости от ориентации. Измените рамку textview на то, что работает визуально. Я думаю, что первый метод игнорирует маски изменения размера IB, поэтому вам нужно установить координаты для фреймов объектов с помощью CGRectMake. Второй метод будет анимировать поворот в соответствии с масками изменения размера, но затем «внезапно» переместит объекты туда, где вы указали свои кадры (снова используя CGRectMake).