我有一个Swift项目需要在用户点击Homebutton或Appswitcher时切换回Login Viewcontroller(就像大多数Bankingapps或1Password一样)。 Login Viewcontroller是初始VC。我搜索了几天,但无法找到相关信息。我如何在我的项目中实现它?
谢谢
德克
答案 0 :(得分:2)
简化@holex和我的评论(并且没有通知工作)
此解决方案要求您的导航基于UINavigationController
,并且您的Login ViewController设置为rootViewController
。
编辑:为确保您的应用使用UINavigationController
,如上所述:
打开您的Main.Storyboard
否则选择当前的根视图控制器
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
上放置了一个示例项目