【发布时间】:2017-10-23 20:56:33
【问题描述】:
我的应用程序 rootviewcontroller 带有标签栏,但是当我使用 firebase 推送通知时,它只允许我“呈现”方法。当我查看此视图控制器时,我想通过推送(如子项)查看控制器以具有选项卡栏和后退选项。
在我的代码中,我想从 present 转移到 PUSH,但我找不到解决方案。 currentController.present(控制器,动画:true,完成:nil)
func userNotificationCenter(_ center: UNUserNotificationCenter,
didReceive response: UNNotificationResponse,
withCompletionHandler completionHandler: @escaping () -> Void) {
if Defaults.hasKey(.logged), let logged = Defaults[.logged], logged == true {
//TODO
if let controller = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ProductDetailsViewController") as? ProductDetailsViewController {
controller.productFromNotificationByCode(code: userInfo["product_code"] as! String, productID: userInfo["product_id"] as! String)
if let window = self.window, let rootViewController = window.rootViewController {
var currentController = rootViewController
while let presentedController = currentController.presentedViewController {
currentController = presentedController
}
currentController.present(controller, animated: true, completion: nil)
}
}
}
print(userInfo)
}
completionHandler()
}
【问题讨论】:
-
您需要先从情节提要加载标签栏控制器,依此类推
标签: ios swift controller viewcontroller