xcode двух контроллеров uitabbar одной страницы.автоповорот вопроса - PullRequest
0 голосов
/ 07 января 2012

Summery

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

Подробности (настройка графически, без кода):

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

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

В Rotation есть ошибка, когда два контроллера UITabBarController существуют в одной и той же XIB. Когда я пытаюсь повернуть экран, он остается вверх, где бы ни находилась кнопка основного экрана (кнопка включения кнопки питания). HandleOrientationChange не вызывается при отображении активного пользовательского ViewController.

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

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

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

РЕДАКТИРОВАТЬ: два-uitabbarcontrollers-and-autorotation и uitabbarcontrollers-and-uinavigationcontrollers оба были полезными, но не обращались к «почему», эта проблема возникает. "noob" здесь, когда дело доходит до xcode:)

1 Ответ

0 голосов
/ 08 января 2012

Контроллер панели вкладок внутри контроллера навигации или совместное использование корневого представления навигации - это ответ.Не используйте TabBarViewController.Который, как новичок, я не совсем уверен, почему существует TabBarViewController (или, по крайней мере, не рекомендуется).

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

Разочарование ... но, наконец, прогресс:)

...