2012-01-07 2 views
0

Summery:xcode два uitabbarcontrollers одна страница. Автоповорот выпуск

  1. У меня есть пользовательский UITabBarAutoRotateController, который возвращает YES из shouldAutorotateToInterfaceOrientation. Это не влияет.
  2. Если я скрою и покажу приложение снова, проблема с вращением исчезнет.
  3. Как обновить экран, чтобы пользователь не мог этого сделать (так что поворот снова работает)?

Детали (установка в графическом виде, так что нет кода):

У меня есть два UITabBarController в MainWindow.xib. Я хочу, чтобы он показывался одновременно. Поэтому я привязываю графически rootViewController = tabBarController_name1. Существует также tabBarController_name2.

У меня также будет сообщение MessageBox для пользователя, чтобы выбрать, какое приложение им нужно, и он выберет контроллер панели вкладок на основе их запроса (для каждого определения клиента). На данный момент это прокомментировано.

Существует ошибка с вращением, когда два UITabBarControllers существуют на одном и том же xib. Когда я пытаюсь повернуть экран, он остается вверх, где бы ни была кнопка главного экрана (кнопка выбора кнопки питания). HandleOrientationChange не вызывается на активный пользовательский ViewController.

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

Извините, что заставляете вас читать все это mumbo :). Мой истинный вопрос: «Есть ли в любом случае я мог бы обновить главное окно или аналогично UITabBarController, чтобы заставить работать вращение (без необходимости свертывания и отображения программы)»? Обход, если хотите?

p.s. Я не могу использовать Storyboard для обратной совместимости. Клиент будет получать этот код/​​проект. Поэтому я хотел бы сохранить это на одной графической странице, а не скрывать/показывать UITabBarItem.

EDIT: two-uitabbarcontrollers-and-autorotation и uitabbarcontrollers-and-uinavigationcontrollers были полезны, но не обращались к «почему», эта проблема возникает. «noob» здесь, когда дело доходит до xcode :)

+0

Моя идея прямо сейчас использовать UINavigationController и скрытие навигационной панели в верхней части (так что клиент может легко увидеть, где навигация происходит). Каждый UITabViewController будет существовать под отдельными элементами навигации. Я все еще изучаю учебные пособия. Будет ли это лучшим способом решить эту проблему? – TamusJRoyce

ответ

0

Tab bar controller inside a navigation controller, or sharing a navigation root view - ответ. Не используйте TabBarViewController. Что, как noob, я не совсем уверен, почему TabBarViewController существует (или, по крайней мере, не обесценивается).

Перемещение двух TabBarViewControllers на одну страницу должно привести к предупреждению о том, что вы, вероятно, захотите реализовать TabBarViewController, создав пользовательский UIViewController и подключив к нему простой UITabBar.

расстраивает ... но в конце концов делает прогресс :)

+0

Это не сработало для меня. Но это лучший ответ, который я могу дать ... – TamusJRoyce