2010-11-03 3 views
1

В построителе интерфейса я создал UIVIew (представление UIViewController), содержащее UIScrollView. UIScrollView настроен таким образом, что он будет изменяться в зависимости от ориентации iPad.Проблема с ориентацией на iPad

Когда я запускаю приложение в портретном режиме, вид изначально имеет ширину и высоту портретной ориентации. Только после того, как я начну взаимодействовать с приложением, этот взгляд внезапно подстраивается под «правильную» ориентацию.

В принципе, мой вопрос в том, почему рамка и рамки UIScrollView (и UIView в этом отношении) остаются такими, как если бы устройство находилось в портретном режиме? Я видел несколько потоков в сети об этом, но никто из них не дал мне ответ, который я ищу.

Странно то, что когда я даю UIScrollView яркий цвет фона (так что я могу видеть его размеры), он имеет правильные пропорции, но рамки и границы являются «неправильными».

ответ

2

Я понял, и это меня немного удивило. Во-первых, я заметил, что размер прокрутки был прав (то есть, сопоставляя ориентацию устройства), и именно по этой причине я основывал размер содержимого моего представления прокрутки на границах вида прокрутки (потому что получилось что это был неправильный размер контента, который вызвал все проблемы).

Все это прекрасно работает, но оговорка заключается в том, что размер прокрутки (и любого другого вида в этом отношении) настраивается на ориентацию устройства NOT в методе viewDidLoad, но в методе viewWillAppear. (Чтобы быть ясным, с предыдущим я не имею в виду, что это действительно происходит в методе viewDidLoad).

Итак, я неправильно установил размер содержимого прокрутки в методе viewDidLoad, но в этот момент размер прокрутки был еще не «правильным» (с «не правильным». Я просто имею в виду, что в зависимости от ориентации устройства, он не был настроен на ориентацию устройства). То, что я сделал для решения проблемы, - это перемещение моего метода, который задает размер содержимого моего представления прокрутки методу viewWillAppear.

Звучит просто (и это так), но мне потребовалось некоторое время, чтобы понять это. Я надеюсь, что это поможет любому, у кого есть подобная проблема в будущем.

+0

Спасибо! Я боролся с такими же проблемами в течение нескольких часов, а затем нашел свой пост, который решил его. – Lope

Смежные вопросы