-2

我的应用程序有可以选择的#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 上选择了选项卡 2. TagDetailVC 被推送到 TagVC 的 NavigationVC 上。

我究竟做错了什么?

4

3 回答 3

1

您可以使用以下方法UITabbarController

  [tabBarController setSelectedIndex:2];

根据我的理解,这将是:NavigationVC -> TagVC

现在使用NSNotification, 并将视图控制器推送到TagDetailVC.

希望这可以帮助您实现您的要求。

于 2013-03-13T08:53:50.550 回答
0

我会尝试这样的事情(伪代码):

on tagTapped
    tagDetailViewController = (alloc, config TagDetailVC)
    (tab controller).viewControllers[2].viewControllers = @[ new TagVC, tagDetailViewController ] ;
    (tab controller).selectedIndex = 2
于 2013-03-13T20:02:17.477 回答
0

不知何故,这是有效的。

self.tabBarController.selectedIndex = TAB_INDEX_TAGS;
UINavigationController *nav = [self.tabBarController.viewControllers objectAtIndex:2];
[nav pushViewController:dest animated:YES];
于 2013-03-13T23:13:45.167 回答