【问题标题】:Open a view in UITabBarController在 UITabBarController 中打开一个视图
【发布时间】:2009-05-04 07:33:31
【问题描述】:

我需要在我的标签栏中以编程方式打开某个标签。

我尝试从我的 UITabBarController 调用以下方法:

self.selectedViewController = myVController;

这不起作用。

打开标签的正确方法是什么?

谢谢。

更新:我尝试了以下代码:

self.selectedViewController = [ [self viewControllers] objectAtIndex: 0];

这为我打开了一个理想的选项卡(它正在被选中),但活动视图没有被更新。

【问题讨论】:

    标签: iphone cocoa-touch uitabbarcontroller


    【解决方案1】:

    关于selectedIndex 属性,Apple 的文档说:

    在 iPhone OS 之前的版本中 3.0 版,此属性反映 所选标签栏项目的索引 只要。试图将此值设置为 视图控制器的索引是 在标签栏中不可见,但 而是由更多导航管理 控制器,无效。

    也许这是你的问题?

    一种可能的解决方法是使用您自己的UITabBar 并处理您自己的视图。然后你可以这样做:

    [tabBar setSelectedItem:[tabBar.items objectAtIndex:1]];
    

    只需实现UITabBarDelegate 并定义此函数即可获取项目选择消息并手动切换视图。 (虽然如果您使用的是高级 UITabBarController 功能,则可能不值得您努力。)

    - (void)tabBar:(UITabBar *)tabBar didSelectItem:(UITabBarItem *)item
    {
    
    }
    

    【讨论】:

      【解决方案2】:

      我的做法是使用self.tabBarController.selectedIndex = 1(第一个标签位于索引0)。

      【讨论】:

      • 它和我的代码有同样的问题。视图并不总是更新。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-12-23
      • 2012-01-10
      • 1970-01-01
      • 2012-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多