当带有文本字段的UIAlertView被解除时,键盘不会消失


我会确保在呈现它的视图控制器的视图生命周期的后期显示警报,例如

- (void)viewDidAppear {
    [super viewDidAppear];
    [self performSelector:@selector(showTheAlert) afterDelay:0.0];
}

- (void)showTheAlert {
    // alloc, init and show the alert here
}

我会使用委托回调给textView第一响应者,例如

- (void)didPresentAlertView:(UIAlertView *)alertView {
    [theUsernameTextField becomeFirstResponder];
}

我会用代表辞职来辞职。 在不是第一响应者的文本字段上退出第一响应者没有任何缺点,因此只是辞职。

- (void)alertView:(UIAlertView *)alertView willDismissWithButtonIndex:(NSInteger)buttonIndex {

    [theUsernameTextField resignFirstResponder];
    [thePasswordTextField resignFirstResponder];
}

创建一个UIAlertView后,您可以将自己作为UIAlertView的委托。 之后:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex

方法,你可以得到你的文本字段的引用,你可以调用resignFirstResponder。


实现下面的方法

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{ 
      UITextField *txtField = [alertView textFieldAtIndex:buttonIndex];
      [txtField resignFirstResponder];
}
链接地址: http://www.djcxy.com/p/44227.html

上一篇: Keyboard not dismissing when UIAlertView with textfields is dismissed

下一篇: Dismiss keyboard on touch anywhere outside UITextField