gpt4 book ai didi

ios - 应用程序从后台返回后,UITabBarController selectedIndex 未更新

转载 作者:行者123 更新时间:2023-11-28 07:37:36 26 4
gpt4 key购买 nike

我以编程方式设置我的 UITabBarController 的索引:

public func SelectTab(index: Int) {
if let tabBarController = tabBarController {
tabBarController.selectedIndex = index
}
}

除非应用进入后台,否则它工作正常。一旦应用程序从后台返回,这将不再有效。 tabBarController 仍设置为正确的索引,但 UI 不再使用新的 View Controller 进行更新。

我可以点击一个标签栏项目,它会更新。但是,使用上述代码以编程方式更改索引不再有效。

我还必须做些什么来恢复 UITabBarController 的状态吗?

最佳答案

终于找到解决办法了。万一其他人遇到困难,问题出在我从后台返回的方式上。我正在重新加载 Root View ,在我尝试选择选项卡之前它似乎工作正常。

问题:我在 applicationWillEnterForeground 中重新加载主视图:

let home = UIStoryboard(name: "Main", bundle: nil).instantiateInitialViewController()
self.window?.rootViewController = home

解决方案:在 applicationDidEnterBackground 中,我关闭了 Root View 上方显示的所有 Controller :

self.window?.rootViewController?.dismiss(animated: false, completion: nil)

然后,在 applicationWillEnterForeground 中,我只是选择了选项卡:

 SelectTab(index: 0)

现在一切正常。

关于ios - 应用程序从后台返回后,UITabBarController selectedIndex 未更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53000046/

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