проблема ориентации на iPad - PullRequest
1 голос
/ 03 ноября 2010

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

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

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

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

1 Ответ

2 голосов
/ 04 ноября 2010

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

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

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

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

...