Как отобразить UITabBar, который не является частью корня моего UINavigationController? - PullRequest
1 голос
/ 01 апреля 2011

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

Мне пришлось настроить это следующим образом:

  • UINavigationController в качестве основного корня.
  • A UITabBarController, который вставляется в UINavigationController при открытии набора данных.(Панель навигации в данный момент скрыта.)
  • Каждая вкладка имеет свою собственную UINavigationController.

Это работает достаточно хорошо, за исключением того, что при открытии пользователя происходит очевидный перерывнабор данных.Я не могу предоставить кнопку возврата, которая похожа на кнопку ОС, чтобы вернуться, чтобы выбрать другой набор данных.Это означает, что пользователям необходимо закрыть приложение для переключения наборов данных (что не так уж и страшно, так как по соображениям безопасности мы не поддерживаем многозадачность).

Как я могу упростить пользователям выбор других данныхустановлен

1 Ответ

1 голос
/ 02 апреля 2011

Apple предупреждает вас не использовать UITabBarController как часть стека UINavigationController в ссылке на класс UITabBarController:

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

Вместо этого сделайте контроллер панели вкладок вашим корневым контроллером представления и представьте свой контроллер навигации «выбор набора данных» в качестве модального контроллера представления поверх контроллера панели вкладок. Добавьте панель инструментов или другой интерфейс для выбора нового источника данных.

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

...