【问题标题】:Set root view controller from another view controller从另一个视图控制器设置根视图控制器
【发布时间】:2015-11-05 16:02:06
【问题描述】:

我正在尝试在另一个视图控制器中实现注销按钮。注销按钮当前删除所有用户默认设置并清除钥匙串中的所有令牌但是我不知道如何显示主视图控制器并从内存中删除所有其他视图?

let rootView: HomeViewController = HomeViewController()
if let window = self.window{
    window.rootViewController = rootView
}

似乎在另一个视图控制器中不起作用。

谢谢

【问题讨论】:

  • 有一个 segue 到主视图控制器怎么样
  • 另外,如果您真正想要做的是完全更改为新的根视图控制器,您可以通过 AppDelegate 的 .window 属性执行此操作,如下所示:let storyboard = UIStoryboard(named: "NewStoryboard", bundle: nil) let newVC = storyboard.instantiateInitialViewController UIApplication.sharedApplication().delegate.window.rootViewController = newVC
  • 你不能简单地改变根视图控制器而不关闭当前的或呈现一个新的!!!
  • 明白。您如何建议我管理一个需要将用户带回主视图控制器并删除当前内存中的所有内容的注销按钮?

标签: ios swift2


【解决方案1】:

试试这个代码

        if let window = self.view.window {
            window.rootViewController = HomeViewController()
        }

由于window 不是UIViewController 的成员,您需要使用UIViewController 的成员view 访问window

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-28
    • 1970-01-01
    • 2017-09-17
    相关资源
    最近更新 更多