我需要编写一些代码以在iOS应用启动时将视图切换到另一个选项卡(例如,默认情况下显示第二个选项卡,而不是第一个)。
我是Swift的新手,并已完成以下工作:
该代码可能应该放在第一个选项卡的ViewController的重写func viewDidLoad()函数中。
以下代码显示了第二个ViewController,但没有在底部显示标签栏(vcOptions是第二个ViewController标签项:
let vc : AnyObject! = self.storyboard.instantiateViewControllerWithIdentifier(“vcOptions”) self.showViewController(vc as UIViewController, sender: vc)
我认为答案可能在于使用UITabbarController.selectedIndex = 1,但不确定如何实现这一点。
如果您window rootViewController是UITabbarController(这是在大多数情况下),那么你可以访问tabbar在didFinishLaunchingWithOptions中AppDelegate文件。
window
rootViewController
UITabbarController
tabbar
didFinishLaunchingWithOptions
AppDelegate
func application(application: UIApplication!, didFinishLaunchingWithOptions launchOptions: NSDictionary!) -> Bool { // Override point for customization after application launch. if let tabBarController = self.window!.rootViewController as? UITabBarController { tabBarController.selectedIndex = 1 } return true }
这将打开中具有index给定(1)的选项卡selectedIndex。
index
selectedIndex
如果你这样做在viewDidLoad你的firstViewController,你需要的标志或其他方法来跟踪所选标签的管理。最好的地方,这样做在 didFinishLaunchingWithOptions你的AppDelegate文件或rootViewController自定义类viewDidLoad。
viewDidLoad
firstViewController