gpt4 book ai didi

ios - 如何确定从iOS后台返回前台时加载哪个 View ?

转载 作者:行者123 更新时间:2023-12-01 17:34:50 24 4
gpt4 key购买 nike

我有一个具有多个 View 的应用程序。
当我从后台返回到前台时,我想确定我目前在哪个 View 中。我该怎么做?

[编辑]

我了解 navigationController 的 visibleViewController 属性可能会有所帮助。但是,我想知道如何使用它返回的指针与 UIViewController 对象进行比较。我们如何比较指针?
一些代码片段会很有帮助。

最佳答案

zirinisp 在 Swift 中的回答:

extension UIWindow {
func visibleViewController() -> UIViewController? {
if let rootViewController: UIViewController = self.rootViewController {
return UIWindow.getVisibleViewControllerFrom(rootViewController)

}
return nil
}

class func getVisibleViewControllerFrom(vc:UIViewController) -> UIViewController {
if vc.isKindOfClass(UINavigationController.self) {

let navigationController = vc as UINavigationController
return UIWindow.getVisibleViewControllerFrom( navigationController.visibleViewController)

} else if vc.isKindOfClass(UITabBarController.self) {

let tabBarController = vc as UITabBarController
return UIWindow.getVisibleViewControllerFrom(tabBarController.selectedViewController!)

} else {

if let presentedViewController = vc.presentedViewController {

return UIWindow.getVisibleViewControllerFrom(presentedViewController)

} else {

return vc;
}
}
}

用法:
if let topController = window.visibleViewController() {
println(topController)
}

关于ios - 如何确定从iOS后台返回前台时加载哪个 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7498880/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com