【发布时间】:2017-08-20 20:38:59
【问题描述】:
我使用推送通知来通知用户应用中发生的不同类型的事件。某种类型的推送通知应该打开一个特殊的视图控制器(例如,关于新聊天消息的通知确实会在点击时导航到聊天)
为了实现这一点,我在我的应用委托中尝试了以下代码:
func applicationDidBecomeActive(_ application: UIApplication) {
if var topController = UIApplication.shared.keyWindow?.rootViewController {
while let presentedViewController = topController.presentedViewController {
topController = presentedViewController
}
topController.tabBarController?.selectedIndex = 3
}
}
它不会移动到任何地方。我在这里错过了什么?
【问题讨论】:
-
所以你在这里有一个标签栏,你希望它在每次应用激活时转到标签#4?
-
选择了 didbecomeactive 来测试它,但是是的,我有一个标签栏控制器,并且标签 #4 是正确的
-
把你的rootViewController改成标签栏控制器就OK了
-
可能为 topController 添加
as! UITabbarViewController会起作用
标签: ios swift navigation uitabbarcontroller appdelegate