我有以下代码:
- (void)viewDidLoad
{
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(dismissKeyboard)];
[self.view addGestureRecognizer:tap];
tap.cancelsTouchesInView = NO;
tap.delegate = self;
[tap release];
}
-(void)dismissKeyboard {
[self.textField resignFirstResponder];
}
textField 有一个 clearButton 并启用了自动更正。当我单击 clearButton 时,一切正常,UITextField
清除后键盘仍然出现。但是,当我不想接受建议的自动更正时,键盘会消失,我的文本会被建议的替换。
我需要,UITapGestureRecognizer
因为我有UITextField
里面 a UITableView
,所以当用户点击外面时UITextField
,我想退出键盘。
我该如何解决这个问题,以便在用户想要并且键盘仍然处于活动状态时可以拒绝自动更正?为什么这可以与 clearButton 一起正常工作,但在拒绝自动更正时却不行?
编辑:它可以与 clearButton 一起正常工作,因为它位于UITextField
. 因此,手势不会被触发。但是当点击建议的文本更正时,它会被触发......有没有办法检查用户是否点击了建议的文本更正?