答案 0 :(得分:12)
在ViewController.m中写入touches的开始方法。在该方法中写入resignFirstResponder
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
[textField resignFirstResponder];
}
答案 1 :(得分:8)
这是一个更好的解决方案,适用于视图控制器中的任何UITextField。你甚至可以将它添加到你的基本视图控制器(如果你有一个),它将像一个魅力。
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
UITouch *touch = [[event allTouches] anyObject];
if (![[touch view] isKindOfClass:[UITextField class]]) {
[self.view endEditing:YES];
}
[super touchesBegan:touches withEvent:event];
}
答案 2 :(得分:0)
不,你需要自己做。通常的方法是在屏幕上放置一个透明按钮(但在文本字段下方),然后在按钮的操作上...
- (void)dismissPressed:(id)sender {
[myTextField resignFirstResponder];
}