注意:当我写“警报 View ”时,我指的是 UIAlertController UIAlertControllerStyleAlert
当我的应用在最短时间后进入前台时,会出现一个自定义PinUnlockViewController
。此行为发生在 iOS 8 和 iOS 9(可能还有其他版本,但我没有测试过其他版本)
如果用户启用了 TouchID,则会在 PinUnlockVC
上显示一个警告 View ,提示用户使用 TouchID 解锁应用程序而不是输入 PIN。
当我按下主页按钮时,警报 View 被关闭。 该应用程序没有后台 - 只有警报 View 被关闭。这不是期望的行为,但它似乎是默认的操作系统行为。
在应用程序的任何其他地方,当我按下主页按钮时,应用程序将进入后台。这是期望的行为。
我如何覆盖,在这种情况下似乎是默认的操作系统功能,如果警报 View 可见,按下主页按钮以使应用程序后台运行?
我不确定当任何 警报 View 可见时是否会发生这种情况,或者它是否特定于 TouchID 提示警报 View (尽管我不明白为什么它会特定于这种情况).
提前致谢。
最佳答案
我还没有确认您所看到的行为,但如果您对问题(应用程序不会进入后台)和原因(因为出现了 UIAlertController
)是正确的,那么这是一个解决方案的想法:在 viewDidLoad
中,订阅...
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(appWillResignActive:) name:UIApplicationWillResignActiveNotification object:nil];
然后在收到 appWillResignActive
...
- (void)appWillResignActive:(NSNotification *)notification {
if ([self.presentedViewController isKindOfClass:[UIAlertController self]]) {
[self dismissViewControllerAnimated:YES completion:nil];
}
}
关于ios - 更改警报 View 可见时按主页按钮的默认行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38275651/