如何在警报显示时保持iOS键盘打开?

时间:2015-10-08 10:21:23

标签: ios objective-c uialertview ios9

我的iOS应用程序中有一个文本字段,有时我需要出于不同的原因显示警告消息(UIAlertView)(例如,字符太多等)。

当我显示键盘隐藏的警报时。如何在显示警报消息时保持键盘打开?或许我错过了什么?

我使用警报的方式:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry"
                                                        message:@"Too many characters."
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];

[alert show];

3 个答案:

答案 0 :(得分:2)

  

我需要出于不同的原因(例如,太多字符等)显示提醒消息(SELECT * FROM courses ORDER BY `name` )。

这将是一个糟糕的用户体验,以不同的方式,例如在文本字段附近显示验证标签。

类似this article中建议的内容:

enter image description here

答案 1 :(得分:1)

嗯,这是Apple在iOS 8中引入的内容,它也是有意义的。当屏幕上显示警报时,您不希望用户使用键盘之类的东西转移。

但是,如果您仍想显示,则当用户点按UIAlertView按钮时,您可以在文字字段或文字视图上调用[textfield becomeFirstResponder]

答案 2 :(得分:0)

[textfield becomeFirstResponder]之后拨打[alert show],就像这样:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Sorry"
                                                        message:@"Too many characters."
                                                       delegate:nil
                                              cancelButtonTitle:@"OK"
                                              otherButtonTitles:nil];

[alert show];
[textfield becomeFirstResponder]