我是
Swift的新手,在Objective-C知识量表中大约有五分之一.
我创建了一个基本的三个标签Swift应用程序.每个标签都有一个相关的swift类文件,例如FirstViewController.swift,SecondViewController.swift,ThirdViewController.swift.
当我选择第三个选项卡时,我现在使用ThirdViewController.swift中的viewDidAppear函数覆盖打开应用程序首选项设置,例如:
override func viewDidAppear(animated: Bool) { // open app preference s if let url = NSURL(string:UIApplicationOpenSettingsURLString) { UIApplication.sharedApplication().openURL(url) } }
但是,在打开首选项之前,我想将活动选项卡设置回第一个选项卡.如何在Swift中优雅地完成.
以下不起作用:
self.tabBarController.selectedIndex = 0
由于ThirdViewController类的UIViewController没有tabBarController.
布莱恩.
解决方法
用户Omkar在上面回答了正确答案.我可以使用ThirdViewController.swft中的以下viewDidAppear成功切换第一个选项卡
override func viewDidAppear(animated: Bool) { self.tabBarController?.selectedIndex = 0 }