推送特定的 viewController

Posted

技术标签:

【中文标题】推送特定的 viewController【英文标题】:Push a specific viewController 【发布时间】:2019-02-21 17:52:23 【问题描述】:

我有 2 个故事板,在故事板 1 中我有一个登录页面,在故事板 2 中,我有我的主页!所以问题出在我的主页上,我有注销按钮,当用户按下按钮我想回到我的登录页面时,我已经尝试了一些对我不起作用的方法! 我试过了:

self.dismiss(animated: true, completion: nil)

还有:

for controller in self.navigationController!.viewControllers as Array  if controller.isKind(of: ViewController)  self.navigationController!.popToViewController(controller, animated: true) break  

那么,有什么方法可以返回我的登录页面??

【问题讨论】:

您在登录页面上使用导航控制器吗?如何从登录页面推送主页面? 是的,我有!我使用 segue 进行推送,在我的主页中,我有另一个导航控制器 + 按钮选项卡控制器 从你的主页,试试self.navigationController?.navigationController?.popToRootViewController(animated:true) 【参考方案1】:

由于您的代码不起作用,我想您的登录视图控制器不在导航堆栈中。以下是您可以尝试的方法。

let storyboard = UIStoryboard(name: "Login", bundle: nil)

if let loginViewController = storyboard.instantiateInitialViewController() 
    (UIApplication.shared.delegate as? AppDelegate)?.window?.rootViewController = loginViewController

【讨论】:

非常感谢它的魅力!我遇到了另一个问题!下面我贴出来【参考方案2】:

你可以试试这个:

let sb = UIStoryboard(name: "1", bundle: nil)
let vc = sb.instantiateViewController(identifier: "ID") as! LoginVC
    
if let nav = navigationController 
    nav.pushViewController(vc, animated: true)
else 
    self.present(vc, animated: true, completion: nil)

【讨论】:

以上是关于推送特定的 viewController的主要内容,如果未能解决你的问题,请参考以下文章

使用 OneSignal 推送通知服务向特定测试设备发送推送通知

友盟-推送-Andorid-消息推送-打开通知消息进入特定Activity操作?

向特定用户或设备推送通知

从 Ionic.io 向特定用户推送 Ionic

反应本机推送通知链接到特定页面

当用户点击推送通知时导航到特定的视图控制器