繁体   English   中英

单击时从一个标签栏移动到另一个标签栏(带有导航控制器的标签栏)

[英]Move from one tab bar to another on click (Tab bar with navigation controllers)

大家好我想从第一个tabbarcontroller到第二个tabbarcontroller但不能这样做。 我的TabBar中的View Controllers也嵌入了NavigationControllers,所以当我尝试切换标签时,它给出了错误说 - :

无法将'UINavigationController'类型的值(0x1048d5898)转换为'abc.CategoriesController'(0x101088d88)。

我使用的代码 - :

 let barViewControllers = self.tabBarController?.viewController
 let svc = barViewControllers![1] as! myController
 svc.myOrder = self.myOrder

我尝试了很多解决方案,但是没有人能帮助我吗? 如果有人可以,请解释我背后的概念吗?

self.tabBarController.selectedIndex = 1确实有效但我无法使用此方法传递数据。

正如Maddy所说:

使用let barViewControllers = self.tabBarController?.viewController[1] as? myController let barViewControllers = self.tabBarController?.viewController[1] as? myController传递数据。

但这就是让我崩溃的路线

你得到的错误表明你从下面的代码得到的不是viewController,如果你

let barViewControllers = self.tabBarController?.viewController //some what wrong with this

访问所有视图控制器的最佳方法如下

var svc = self.tabBarController.viewControllers

如果你想通过索引访问viewControllers然后低于一个

var svc = self.tabBarController.viewControllers[1] as yourVC

如果要从标签栏访问导航控制器,请在列表中输入最后但不在列表中

var svc = self.tabBarController.viewControllers[1] as UINavigationController

希望这对你有所帮助:)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM