Ale*_*dro 5 uitabbarcontroller ios swift
事实证明,我想要做的是,当我来自3d快捷方式,强制UITabBarController选择索引时,如果我在标签栏中执行此操作,viewDidAppear()问题是viewDidAppear()我的主要UIViewController嵌入器未被调用,如果我单击再次在标签栏项目上然后已经调用它.由于其余的驱动程序没有发生,我理解为什么它不是第一个在项目列表中的那个UITabBarController.
标签栏控制器:(来吧)
override func viewDidAppear(_ animated: Bool) {
if goTasks {
self.selectedIndex = 0
} else if goTodo {
self.selectedIndex = 2
} else if goProjects {
self.selectedIndex = 3
} else if goSearch {
self.selectedIndex = 0
}
}
Run Code Online (Sandbox Code Playgroud)
我的第一个UIViewController:(不称为此方法)
override func viewDidAppear(_ animated: Bool) {
print("Entry")
}
Run Code Online (Sandbox Code Playgroud)
问题override的方法是什么?有解决方案吗
在你的UITabBarController类viewDidAppear func中,调用它的超类,就像这样
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if goTasks {
self.selectedIndex = 0
} else if goTodo {
self.selectedIndex = 2
} else if goProjects {
self.selectedIndex = 3
} else if goSearch {
self.selectedIndex = 0
}
}
Run Code Online (Sandbox Code Playgroud)
之后,您的第一个viewcontroller将调用此方法.
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
print("Entry")
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3150 次 |
| 最近记录: |