我正在使用我的第一个iOS / swift应用程序。它是一个经过修改的日记条目应用程序,但我目前有一个功能我试图实现如果应用程序转到后台(然后是前台)或者处于非活动状态,则会显示密码视图控制器。我遇到的问题是实施。
我的问题:是否有一种简单的方法可以在当前vc进入地面时将passcodeVC呈现在当前vc之上,然后将其解除,留下当前的VC。
据我所知,其他视图控制器可以确定应用程序是否进入前台,但我认为使用app delegate可以做得更好,因为它似乎是应用程序状态的通用监听器。如果我有视图控制器和密码功能工作,我如何获得密码视图来呈现自己,然后解雇代码是否正确;揭示它下方的屏幕(一些代码会有所帮助,因为我已经花了几天而且它有点过头了。)
这是我试图构建的扩展程序:
public extension UIViewController {
func show() {
let win = UIWindow(frame: UIScreen.main.bounds)
let vc = UIViewController()
vc.view.backgroundColor = .clear
win.rootViewController = vc
win.windowLevel = UIWindowLevelAlert + 1
win.makeKeyAndVisible()
vc.present(self, animated: true, completion: nil)
}
func hide() {
dismiss(animated: true, completion: nil)
}
}
感谢。