Альтернативный вид iPhone для ландшафтного режима при повороте - PullRequest
4 голосов
/ 03 февраля 2011

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

Однако я заметил ошибку. У меня довольно сложный пользовательский интерфейс - TabViewController / UINavigationController. Когда один ViewController использует код AlternateViews и переключается на другую вкладку, которая также имеет AlternateView , уведомления, кажется, конкурируют. То есть он покажет AlternateView , но тот, что для контроллера представления первой вкладки, а не второй. Если я вернул из иерархии навигации, чтобы существовал только один AlternateView, то все в порядке.

В конце концов, мне не нужен совершенно отдельный ViewController для ландшафтного режима. Фактически, это на самом деле усложняет ситуацию, поскольку мне нужно, чтобы она имела одинаковую панель навигации и IBActions. Мне нужно загрузить UIWebView при вращении устройства (если оно еще не загружено) и скрыть текущее представление (UITableView). Это также уменьшит ошибку, описанную выше.

Я могу настроить код для создания / показа / скрытия UIWebView и UITableView. Однако я точно не знаю, где и когда это сделать - willAutoRotateToOrientation? Любая ссылка на метод делегата и код psuedo будет принята с благодарностью.

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

1 Ответ

2 голосов
/ 03 февраля 2011

Я бы порекомендовал поместить ваш код, который заменяет представления, в -didAnimateFirstHalfOfRotationToInterfaceOrientation:

http://developer.apple.com/library/ios/#documentation/uikit/reference/UIViewController_Class/Reference/Reference.html

Таким образом, ваш существующий вид начинает заметно вращаться, затем новый вид заменяется и завершает вращение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...