我正在尝试在应用程序启动时获取选项卡标题。
当用户更改标签时,我可以这样做来读取 tabBarItem.title:
func tabBarController(
tabBarController: UITabBarController,
didSelectViewController viewController: UIViewController) {
UserActivity.trackScreen(name: viewController.tabBarItem.title)
}
此方法不会为初始选择触发。我在 UITabVarController
的 viewDidLoad
方法中尝试了这种方法。
override func viewDidLoad() {
super.viewDidLoad()
UserActivity.trackScreen(name: self.selectedItem.title) // I think this is not set yet, it is nil.
}
这行不通。
如何在应用程序启动时获取选定的标签栏项目,或者将选择的标签栏项目?
最佳答案
在“选定”选项卡上执行操作是首次启动的特殊情况,因为委托(delegate)方法 didSelectViewController
不会触发。
如果(这可能是一个很大的“如果”)您可以假设第一个选项卡是在应用程序启动时选择的选项卡,此代码将用于处理首次启动情况:
if let vcs = self.viewControllers {
var firstVC = vcs[0] as UIViewController
UserActivity.trackScreen(name: firstVC.tabBarItem.title)
}
这对我有用。接受更好的答案。
关于ios - 在应用程序启动时获取在 UITabBarController 中选择的选项卡的标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30303254/