iOS 9 - UIAlertView 关闭后键盘弹出

标签 ios keyboard uialertview ios9 uiresponder

我有一个奇怪的视觉错误,它只影响 iOS 9 设备:

我的应用程序的登录 UIViewController 运行并在您点击按钮时获得 OAuth token ,就像您期望的那样。如果我的 API 的响应返回一个特定的状态代码,我会弹出一个 UIAlertView 告诉他们需要重置密码(如果他们在服务器端被标记为这样的话)。按下按钮后用于登录 resignFirstResponder 的电子邮件和密码字段,标准内容。

仅在 iOS 9 上,如果您点击重置路径,在您点击该警报 View 上的“确定”的那一刻,键盘弹回,可能持续 800 毫秒,然后再次消失。就好像有什么东西在排队等待展示它,但警报的存在阻止了它,直到你点击确定——在警报上点击确定后它绝对是即时的。

调试起来似乎非常棘手。我在 becomeFirstResponder 中添加了符号断点,它不会在发生此过程的任何地方调用。

关于如何调试/修复此问题的任何其他想法?它不影响 iOS 7 和 iOS 8,仅影响 iOS 9。

最佳答案

大约 30 分钟前我遇到了这个问题。

自 iOS9 发布以来,UIAlertView 已被弃用。

我们通过使用 UIAlertController 解决了这个问题,如下所示:

 UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"Alert Title!" message:@"This is an alert message." preferredStyle:UIAlertControllerStyleAlert];

     UIAlertAction* ok = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:nil];
     [alertController addAction:ok];

     [self presentViewController:alertController animated:NO completion:nil];

这应该可以解决您的问题。

如果 animated = YES,您可能会遇到与以前相同的问题。这是 iOS9 的一个错误。

让我知道进展如何,以及这是否解决了您的问题。

关于iOS 9 - UIAlertView 关闭后键盘弹出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32744209/

相关文章:

iphone - 以编程方式关闭 UIAlertView

ios - IOS存储的问题

java - 如何让 JTextArea 消耗其关键事件?

swift - 单击 UITableViewCell 时

ios - 如何在普通 TextView 中使用 Swift Playgrounds 风格的代码输入键盘/文本字段?

python - 有没有一种方法可以使用 Kivy 和 Python 在 TextInput 字段中显示数字键盘(最好带有气泡)?代码的新问题

iphone - Exc_Bad_Access 有时仅在显示警报 View 时

ios - 仅在 Testflight 上崩溃

iOS - 带动画的程序化模态转场(例如翻转)

ios - 用户强制退出您的 ios 应用程序后,您能否收到 FCM 通知?