Если в одном из моих представлений есть панель навигации и панель вкладок. Все это работает нормально. Один из элементов панели табуляции требует нажатия нескольких других контроллеров представлений в стеке навигации, прежде чем я получу то, где мне нужно. Это также работает. Когда я нажимаю на элемент панели вкладок, он марширует обратно в стек. Как я могу сделать желаемый джойстик контроллера в элементе панели вкладок?TabBar Stop Popping
ответ
Это стандартное поведение панели вкладок, если вы настроили ее с каждой вкладкой, указав на другой контроллер представления в главном файле nib. Это на самом деле очень полезно, позволяя пользователю глубоко перемещаться внутри определенного стека, а затем нажмите кнопку табуляции, которая уже выбрана для возврата на домашний/верхний уровень.
Обратите внимание, что это происходит только при нажатии на выбранную вами вкладку. Вы можете реализовать строку в делегате панели вкладок, которая перехватывает щелчок на вкладке и игнорирует ее, если эта вкладка уже выбрана.
Для этого вам необходимо вручную обрабатывать отображение различных контроллеров представлений. Вы хотите реализовать этот метод:
- (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
а затем нажимать различные виды на стеки навигации самостоятельно.
Спасибо за помощь. Вы не можете изменить appdelegate для вкладки, когда в NavigationController. Я смог сделать то же самое, переопределив - (BOOL) tabBarController: (UITabBarController *) tbController shouldSelectViewController: (UIViewController *) vwController –
Как раз в сторону, вы не нажимаете на iPhone, вы нажимаете на них. –