在Swift中以编程方式处理MoreNavigationController

时间:2016-07-18 16:35:15

标签: objective-c swift uitabbarcontroller

我注意到UITabBarController的Swift和Objective-C实现有所不同。

在我的应用程序中,我想在按下按钮时以编程方式选择选项卡。在objective-c中,我可以简单地将TabBarContoller的SelectedViewController设置为我想要的索引处的视图控制器。

UINavigationController* navController = [self.viewControllers objectAtIndex:index];

[self setSelectedViewController:navController];

但是,当选择一个会出现在swift中的MoreNavigationController中的项目时,结果是

  

只能选择标签栏控制器的视图控制器列表中的视图控制器

这是有道理的,因为:

  • 覆盖Objective-c中的setViewControllers方法;之后 超级调用完成给出七个元素,self.viewControllers是一个 长度为七的数组。
  • 覆盖Swift中的setViewControllers方法;超级之后 调用完成给出七个元素,self.viewControllers是一个数组 长度为四。

我的问题是,我错过了什么吗?有没有理由在swift中它截断到前四个条目,并且我能做些什么来使它更像Objective-c TabBarController?

How to switch to a tabBarItem in the "more" view是我见过的最相关的问题,但选定的答案似乎并不适用于Swift。

0 个答案:

没有答案