У меня есть приложение с 5 UIViewController
с внутри каждого соответствующего UINavigationController
, все скрыто внутри UITabBarController
, которое отображает 5 вкладок в нижней части экрана.
Я хочу отобразить еще один UIViewController
(внутри UINavigationController
) при нажатии кнопки диалога.
Это представление следует загружать и выгружать только программно; то есть он не должен появляться на панели вкладок. Однако я хочу, чтобы панель вкладок была видна всегда.
Если я добавлю [UINavigationController view]
к [self window]
, UITabBar
будет закрыт. Если я добавлю его на любой другой слой, UINavigationController
добавит компенсацию, которую он имеет для строки состояния, поэтому он окажется ниже, чем ожидалось.
Решением может быть добавление 6-го UINavigationController
к UITabBar
с остальными, но со скрытым tabBarItem
. Затем я могу показать его и скрыть, используя свойство tabBar
s selectedIndex
.
Доступ к tabBarItem
через UIViewController
не показывает очевидного способа сделать это.
@ wisequark, я думаю, вы совершенно не поняли и почти переписали архитектуру моего приложения. Однако у меня есть отдельный контроллер навигации для каждого вида, так как они являются взаимоисключающими, и концепция «детализации» отсутствует.
@ Кендалл, это то, что я ожидаю, что мне придется сделать - появится модальное представление с кнопкой скрытия, чтобы вернуть нормальный интерфейс. Но было бы неплохо держать панель вкладок всегда видимой, поэтому мне просто интересно, знает ли кто-нибудь какой-либо способ.