iPhone: некоторые виды пейзаж другие портрет - PullRequest
0 голосов
/ 26 декабря 2009

У меня есть настройка вкладок с несколькими вкладками. Первым tabitem является viewcontroller, который программно загружает xib, размещенный в портретной ориентации. Когда пользователь поворачивает телефон, он автоматически представляет модальное представление в горизонтальной плоскости. Этот механизм работает отлично.

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

Я реализовал класс с именем RotateTabBarViewController, который содержит метод shouldAutorotateToInterfaceOrientation и проверяет значение этого же метода в selectedViewController. Поэтому, если в моем веб-представлении есть метод shouldAutorotateToInterfaceOrientation, возвращающий значение true, то представление будет вращаться, как и ожидалось.

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

Я ищу решение, которое перенастроит модальное представление туда, где оно должно быть. Я не уверен, нужно ли перестраивать основной вид или просто модальный вид.

Следующая ссылка содержит демонстрацию концепции.

http://www.veryniceindustries.com/rotation_demo.zip

  • Поворот устройства в портретное положение
  • Выбрать пункт два
  • Поворот устройства в альбомную ориентацию (нужна помощь при настройке этого вида)
  • Выбрать элемент один (модальный вид для ландшафта, но со смещением)

Любая помощь будет принята с благодарностью.

Лучший, Howie

1 Ответ

0 голосов
/ 26 декабря 2009

Рассматривали ли вы реализацию метода viewWillAppear в viewController # 1 и исправление кадра представления?

В качестве альтернативы обрабатывать его в itemOneViewController в методах directionChanged или updateItemOneView?

PS: спасибо за добавление исходного кода, так как молодому программисту на Obj-C всегда приятно видеть, как кто-то еще подходит к проблеме.

...