use*_*025 48 uiviewcontroller dismiss ios swift
我有一个应用程序,它是一个单一的视图应用程序 我有一个导航控制器链接到根视图控制器中的所有子控制器.
在每个子控制器中,我都有一个注销按钮.我想知道我是否可以使用一个可以调用的功能,这将解除所有已经打开的控制器,无论当用户按下注销时哪个控制器当前打开?
我的基本开始:
func tryLogout(){
self.dismissViewControllerAnimated(true, completion: nil)
let navigationController = UINavigationController(rootViewController: UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("LoginViewController") )
self.presentViewController(navigationController, animated: true, completion: nil)
}
Run Code Online (Sandbox Code Playgroud)
我正在寻找执行此任务的最有效的内存方式.我将我的注销函数放在一个单独的utils文件中,但是我不能使用self.而且我仍然知道要动态解除哪些控制器的问题.
已建议更新 Pop到根视图控制器.所以我的尝试是这样的:
func tryLogout(ViewController : UIViewController){
print("do something")
dispatch_async(dispatch_get_main_queue(), {
ViewController.navigationController?.popToRootViewControllerAnimated(true)
return
})
}
Run Code Online (Sandbox Code Playgroud)
这是实现我追求目标的最佳途径吗?
Lia*_*iam 148
你可以打电话:
self.view.window!.rootViewController?.dismissViewControllerAnimated(false, completion: nil)
Run Code Online (Sandbox Code Playgroud)
应解除根视图控制器上方的所有视图控制器.
Nai*_*hta 24
斯威夫特4:
为了消除任何不需要的残留Modal ViewControllers,我使用了它,并且在没有保留任何导航堆栈引用的情况下运行良好.
UIApplication.shared.keyWindow?.rootViewController?.dismiss(animated: false, completion: nil)
Run Code Online (Sandbox Code Playgroud)
self.view.window!
为我的情况崩溃可能是因为它的模态屏幕并且丢失了对窗口的引用.
Bij*_*wat 23
更新了Swift 3.2和swift 4的答案
self.view.window!.rootViewController?.dismiss(animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
当你使用navigationController时
self.navigationController?.popToRootViewController(animated: true)
Run Code Online (Sandbox Code Playgroud)
Swift3
navigationController?.popToRootViewControllerAnimated(true)
Run Code Online (Sandbox Code Playgroud)
关闭所有模态视图。
雨燕5
view.window?.rootViewController?.dismiss(animated: true, completion: nil)
Run Code Online (Sandbox Code Playgroud)
看看seglining如何解开工作.它非常简单,并且允许您解除/弹出到层次结构中的某个视图控制器,即使它由复杂的导航(嵌套推送或呈现的视图控制器)组成,没有太多代码.
这是一个非常好的答案(通过smilebot),显示如何使用展开segue来解决您的问题 /sf/answers/1922430051/
归档时间: |
|
查看次数: |
60172 次 |
最近记录: |