点击Homebutton时显示登录屏幕

时间:2016-02-05 15:09:24

标签: ios swift

我有一个Swift项目需要在用户点击Homebutton或Appswitcher时切换回Login Viewcontroller(就像大多数Bankingapps或1Password一样)。 Login Viewcontroller是初始VC。我搜索了几天,但无法找到相关信息。我如何在我的项目中实现它?

谢谢

德克

1 个答案:

答案 0 :(得分:2)

简化@holex和我的评论(并且没有通知工作) 此解决方案要求您的导航基于UINavigationController,并且您的Login ViewController设置为rootViewController

编辑:为确保您的应用使用UINavigationController,如上所述:

  • 打开您的Main.Storyboard

  • 如果您看到这样的布局,那么您已经设置了: view layout in XCode

  • 否则选择当前的根视图控制器

  • 从菜单中选择编辑器>嵌入>导航控制器
  • 如果您不希望导航栏可见,请禁用“显示导航栏”选项

END OF EDIT

在那个星座中,您可以在应用程序委托中执行以下操作:

// will get called just before the UIApplicationWillResignActiveNotification is posted
func applicationWillResignActive(application: UIApplication) {
    if let keyWindow = application.keyWindow,
               navVC = keyWindow.rootViewController as? UINavigationController {
        navVC.popToRootViewControllerAnimated(true)
    }
}

每当应用程序失去焦点时,这会强制弹出到root。 引用苹果文档:

  

当弹出覆盖窗口或设备被锁定时,[app]失去焦点,

使用应用程序切换器或按主页按钮都应计入该类别。

我在GitHub

上放置了一个示例项目