【问题标题】:Changing current view in a uitabbar application iOS iPad在 uitabbar 应用程序 iOS iPad 中更改当前视图
【发布时间】:2010-09-13 01:04:38
【问题描述】:
UIViewController *newView = [[UIViewController alloc] initWithNibName:@"NewView" bundle:[NSBundle mainBundle]];

tabBarController.selectedViewController = newView;

为什么这不起作用?

【问题讨论】:

    标签: iphone ipad ios uitabbar


    【解决方案1】:

    UITabBarController 的 selectedViewController 属性必须是选项卡栏的现有选项卡之一(在其 viewControllers 属性中定义)。您可能希望将新控制器推送到现有选项卡(必须是 UINavigationController),或者将 viewController 添加到 viewControllers 数组。

    【讨论】:

    • 我用 IB 制作了当前的标签栏,而不是以编程方式,int numControllers = [tabBarController.viewControllers count];返回 0 - 我猜这与它有关
    【解决方案2】:

    因为视图控制器不是UITabBarController 的一部分。

    如果您查看 selectedViewController 属性的 Apple 参考资料,您会看到:

    指定的视图控制器必须是 在viewControllers 数组中。

    您需要使用viewControllers 属性将视图控制器添加到UITabBarController,因此视图控制器有一个选项卡,因此您可以选择该视图控制器的选项卡。

    【讨论】:

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