当带有文本字段的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