Шаблоны навигации для iPad - PullRequest
3 голосов
/ 16 сентября 2010

Я работал над приложением для iPad, которое имеет около 15 контроллеров представления. Некоторые из контроллеров представления являются полноэкранными, другие встроены в другие контроллеры представления (например, контроллер представления с разделением).

На iPhone навигация очень прямолинейна. Даже если у вас тонна контроллеров представления, вы используете один из корневых контроллеров представления Apple (вкладка или навигация). Навигация обрабатывается контроллерами корневых представлений, и вы можете свободно сосредоточиться на своих представлениях.

На ipad контроллеры разделенного представления и представления вкладок не всегда полезны, и для приложения, над которым я работаю, они не сокращают его. Я создал отдельные объекты контроллера навигации для обработки контроллеров скрытия / отображения на основе уведомлений, которые публикуются, когда пользователь выполняет действия.

Кто-нибудь еще имеет опыт решения проблемы навигации на iPad?

Ответы [ 3 ]

3 голосов
/ 16 сентября 2010

Вы проверили MGSplitViewController от Мэтта Джеммелла?
http://mattgemmell.com/2010/08/03/mgsplitviewcontroller-updated

Я не утверждаю, что это решит все ваши проблемы с навигацией, но это интересная идея и может помочь вам найти более / более эффективные способы обработки контроллеров представления.

1 голос
/ 18 ноября 2011

В iOS 5 Apple добавила концепцию контроллеров контейнерного представления.Это упрощает добавление и удаление дочерних элементов, позволяя автоматически вызывать их методы поворота / появления / исчезновения.Классные вещи!

0 голосов
/ 24 сентября 2010

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

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

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

Хотя некоторыевещи могут работать, когда у вас есть несколько контроллеров представления, управляющих различными вложенными представлениями, другие вещи не будут работать.Например, только один из ваших контроллеров представления будет проинформирован, когда устройство поворачивается.Аналогично, не все ваши контроллеры представления будут отправлять сообщения «viewWillAppear», «viewDidUnload» и т. Д., Которые вы можете ожидать.

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