我有UIAlertView在加载视图时显示。

 av = [[UIAlertView alloc]initWithTitle:@"New Password" message:@"please enter a new passward" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"done", nil];

av.alertViewStyle = UIAlertViewStyleSecureTextInput;
[av becomeFirstResponder];


[av show];


但是键盘没有在iPad或模拟器上显示吗?

我也尝试过

我刚试过

[av becomeFirstResponder];


并且

 UITextField *text = [alertView textFieldAtIndex:0];

[text becomeFirstResponder];


我只是尝试了这段代码,它记录了textField是第一个响应者,但仍然没有键盘。

if([[av textFieldAtIndex:0] isFirstResponder] == YES){
    NSLog(@"av is the first responder.");
}

最佳答案

将警报设为第一响应者将无济于事。您需要将警报视图内的文本框设置为第一响应者。

编辑:

您可能需要调用reloadInputViews(带或不带s,不记得了)。还要仔细检查您是否没有在可能破坏输入视图的任何地方更改输入视图。

编辑2:

您可能要将警报从viewDidLoad移到viewDidAppear。我已经看到过早更新/呈现UI元素的问题。我认为这是其中一种情况。

关于iphone - UIAlertView不显示键盘,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8267948/

10-13 04:03