【发布时间】:2015-05-04 20:50:40
【问题描述】:
我几乎完成了一个项目,并且正在解决最后几个 UI 问题。我的应用程序使用标签栏进行导航,出于美学目的,我希望应用程序在最后一个选项卡(用户配置文件)而不是第一个选项卡上打开。我知道我可以在 Interface Builder 中重新排序选项卡,但选项卡栏看起来很奇怪,首先是配置文件选项卡,然后是其他任何地方的主页选项卡。如何将配置文件选项卡保留为第 5 个选项卡,但默认情况下在该选项卡上打开应用程序?
【问题讨论】:
我几乎完成了一个项目,并且正在解决最后几个 UI 问题。我的应用程序使用标签栏进行导航,出于美学目的,我希望应用程序在最后一个选项卡(用户配置文件)而不是第一个选项卡上打开。我知道我可以在 Interface Builder 中重新排序选项卡,但选项卡栏看起来很奇怪,首先是配置文件选项卡,然后是其他任何地方的主页选项卡。如何将配置文件选项卡保留为第 5 个选项卡,但默认情况下在该选项卡上打开应用程序?
【问题讨论】:
【讨论】:
只需设置 tabBarController 的 selectedIndex 即可。沿着这些思路。
var freshLaunch = true
override func viewWillAppear(animated: Bool) {
if freshLaunch == true {
freshLaunch = false
self.tabBarController.selectedIndex = 4 // 5th tab
}
}
【讨论】:
如果您使用来自UIStoryBoard 的UISegue,您可以在执行UISegue 的UIViewController 中使用它
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
let tabBarController = segue.destination as? UITabBarController
tabBarController?.selectedIndex = 1
}
或
class TabBarController: UITabBarController {
override func viewDidLoad() {
super.viewDidLoad()
self.selectedIndex = 1
}
}
此代码在您的UITabBarController 本身中。
【讨论】:
在第一个项目视图控制器中写入
tabBarController?.selectedIndex = 2//required value
【讨论】: