假设我在 TabBar.viewController[1]
上有一个 UINavigationController
,例如 ->
let nav:UINavigationController = self.tabBarController.viewControllers[0] as UINavigationController
和 UITableViewController
在 NavigationController.viewController[1]
就像 ->`
let mvc = nav.viewControllers[0] as UITableViewController
如果该表中存在模态转场怎么办,如何在不转场的情况下转换该转场 viewController
以在该 View 中设置某些内容
如果有人可以将我的问题编辑得更清楚,我们将不胜感激:)
* 更新 *
我需要在没有 segueing 的情况下这样做,因为在模态 segue 之后可能会有多个 ViewController 出现所以我想在做任何 segue 之前设置(这就像在 tabBar viewControllers 之间设置委托(delegate)所以我们转换而不移动到另一个TabBar 中的 ViewController)
可能是这样的
let nav = self.tabBarController.viewControllers[1] as UINavigationController
let mvc = nav.viewControllers[1] as UITableViewController // but compiler crash `Array index out of range`
let something else to hold that ViewController from the nav
最佳答案
您只需使用 segue 的 destinationViewController
属性。
var customController = segue.destinationViewController as YourControllerClass
customController.delegate = self
关于ios - 在 UINavigationController[1] 中的 tabBar[1] 中转换一个 viewController,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25590058/