以编程方式获取视图控制器的实例

时间:2016-07-29 03:42:37

标签: ios swift uiviewcontroller

我正在使用一个扩展UITabBarController的类。我需要设置我的类的self.tabBarController.selectedIndex属性才能切换标签。

由于我想设置此变量/调用一个从另一个类更改此变量的方法,我必须有一个自定义类的实例,称为TabsController

到目前为止,我已经查看了这两个帖子但是他们涉及使用故事板,我几乎以编程方式完成所有事情,事实上这是我的整个故事板:

enter image description here

如何以编程方式解决此问题?

Get Instance Of ViewController From AppDelegate In Swift

Access the instance of a Viewcontroller from another in swift

2 个答案:

答案 0 :(得分:2)

UITabBarControllermost often used作为应用程序'} rootViewController。虽然您没有使用故事板,但在应用启动后,如果您要将TabsController的实例设置为应用程序的窗口rootViewController,则可以从任何位置参考此实例你的应用程序是这样的:

if let tabsController = UIApplication.sharedApplication().delegate?.window??.rootViewController as? TabsController {
    tabsController.selectedIndex = 2
}

答案 1 :(得分:0)

你可以试试这个

let controller = self.tabBarController.viewControllers[self.tabBarController.selectedIndex]