我有一个 Swift 项目,当用户点击 Home 按钮或 Appswitcher(就像大多数 Bankingapps 或 1Password 那样)时,它需要切换回 Login Viewcontroller。 Login Viewcontroller 是初始的 VC。我搜索了几天,但找不到任何相关信息。我如何在我的项目中实现它?
谢谢
德克
最佳答案
稍微简化@holex 和我的评论(并且在没有通知的情况下工作)
此解决方案要求您的导航基于 UINavigationController
,并将您的 Login ViewController 设置为 rootViewController
。
编辑:为确保您的应用使用如上所述的 UINavigationController
:
打开您的
Main.Storyboard
否则选择你当前的 Root View Controller
- 从菜单中选择编辑器 > 嵌入 > 导航 Controller
- 如果您不希望导航栏可见,请禁用“显示导航栏”选项
编辑结束
在那种情况下,您可以在您的应用程序委托(delegate)中执行类似这样的操作:
// 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)
}
}
这会在应用失去焦点时强制执行 pop-to-root。 引用苹果文档:
[the app] loses focus when an overlay window pops up or when the device is locked,
使用应用程序切换器或按下主页按钮都应计入该类别。
我在 GitHub 上放置了一个示例项目
关于ios - 点击主页按钮时显示登录屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35227368/