我的应用有#hashtags可以选择。
我们的TabBar,MainVC,ProfileVC和TagVC中只有3个选项卡。 TagDetailVC通常通过TagVC访问。
当用户选择标签时,她将被定向到TagDetailViewController。
编辑我在故事板上连接了一个tabbarController。
现在我有这个:
TagDetailViewController *dest = [[TagDetailViewController alloc] init];
UINavigationController *nav = [self.tabBarController.viewControllers objectAtIndex:2];
[nav pushViewController:dest animated:YES];
但是,我现在看到的只是TagVC。我在TagDetailVC的viewDidLoad中放置了一个日志语句,但没有显示。
为了记录,这就是我的故事板的组织方式:
TabBarController -> NavigationVC -> MainVC ...
-> NavigationVC -> ProfileVC ...
-> NavigationVC -> TagVC -> TagDetailVC
我有兴趣让tabBar选择TagVC,然后将TagDetailVC推送到TagVC的navigationController。用户按下标记时我期望的行为是: 1.在TagVC中选择了Tab 2. TagDetailVC被推送到TagVC的NavigationVC。
我做错了什么?
答案 0 :(得分:1)
您可以使用以下方法UITabbarController
:
[tabBarController setSelectedIndex:2];
根据我的理解,这将是:NavigationVC -> TagVC
现在使用NSNotification
,并将视图控制器推送到TagDetailVC
。
希望这可以帮助您实现您的要求。
答案 1 :(得分:0)
我会尝试这样的事情(伪代码):
on tagTapped
tagDetailViewController = (alloc, config TagDetailVC)
(tab controller).viewControllers[2].viewControllers = @[ new TagVC, tagDetailViewController ] ;
(tab controller).selectedIndex = 2
答案 2 :(得分:0)
不知何故,这是有效的。
self.tabBarController.selectedIndex = TAB_INDEX_TAGS;
UINavigationController *nav = [self.tabBarController.viewControllers objectAtIndex:2];
[nav pushViewController:dest animated:YES];