【问题标题】:UITabbarController selectedIndex and selectedViewController do not workUITabbarController selectedIndex 和 selectedViewController 不起作用
【发布时间】:2014-05-31 04:12:04
【问题描述】:

我尝试将以下两行放入- (void)viewDidLoad.

self.tabBarController.selectedIndex = 3;
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];

当时,只有 Tabbar 索引更改为 3,但 View Controller 保持在默认视图控制器,即 0。我的编码中是否缺少任何东西?

【问题讨论】:

标签: ios objective-c uitabbarcontroller


【解决方案1】:

解决方案:尝试移动您的,

self.tabBarController.selectedIndex = 3;
self.tabBarController.selectedViewController = [self.tabBarController.viewControllers objectAtIndex:3];

你的代码的一部分到 UIVIewController 的

- (void)viewDidAppear:(BOOL)animated

希望对你有帮助

原因:您必须先让您的 UIViewController 完全加载,然后再对其触发额外操作。

【讨论】:

    【解决方案2】:

    试试这个绝对有效:

     UINavigationController *nc = [[self.tabBarController viewControllers] objectAtIndex:0];
    id vc = [[nc viewControllers] objectAtIndex:0];
    if ([vc isKindOfClass:[YourViewController class]])
    {
        [[self appDelegate].tabBarController setSelectedIndex:3];
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-23
      相关资源
      最近更新 更多