首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何设置选项卡栏控制器的默认选项卡

如何设置选项卡栏控制器的默认选项卡
EN

Stack Overflow用户
提问于 2014-10-20 05:27:03
回答 6查看 16.6K关注 0票数 7

我是Swift的新手,在目标-C知识量表上,大约十分之五。

我创建了一个基本的三个选项卡Swift应用程序。每个选项卡都有一个相关的快速类文件,例如FirstViewController.swiftSecondViewController.swiftThirdViewController.swift.

当我选择第三个选项卡时,我现在使用ThirdViewController.swift,中的viewDidAppear函数覆盖打开应用程序首选项设置,例如:

代码语言:javascript
运行
复制
override func viewDidAppear(animated: Bool) {
    // open app preference s
    if let url = NSURL(string:UIApplicationOpenSettingsURLString) {
        UIApplication.sharedApplication().openURL(url)
    }
}

不过,在打开首选项之前,我希望将active选项卡设置为第一个选项卡。这是如何在斯威夫特优雅地完成的。

以下内容不起作用:

代码语言:javascript
运行
复制
self.tabBarController.selectedIndex = 0

因为ThirdViewController类的UIViewController没有一个tabBarController

布莱恩。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2014-10-22 22:41:59

用户Omkar在上面回答了正确的答案。我可以使用下面的viewDidAppear在ThirdViewController.swft中成功地切换第一个选项卡

代码语言:javascript
运行
复制
override func viewDidAppear(animated: Bool) {         
    self.tabBarController?.selectedIndex = 0     
}
票数 8
EN

Stack Overflow用户

发布于 2015-11-02 03:49:58

我按照@Paolo Sangregorio的方式执行代码,如下所示

在应用程序委托中查找applicationDidBecomeActive函数并添加以下行

代码语言:javascript
运行
复制
let tabBarController = self.window?.rootViewController as! UITabBarController
tabBarController.selectedIndex = 0
票数 5
EN

Stack Overflow用户

发布于 2015-12-22 19:15:46

代码语言:javascript
运行
复制
//Use viewWillAppear (instead of) viewDidAppear to prevent a screen flicker


var freshLaunch = true
override func viewWillAppear(animated: Bool) {
    if freshLaunch == true {
        freshLaunch = false
        self.tabBarController.selectedIndex = 2
    }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26459037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档