我在tableView上使用UITapGestureRecognizer,在-textFieldDidBeginEditing之后使用-endEditing。首先,我想制作-endEditing,然后在tableView的元素上执行此操作。我怎么能正确地做到这一点?
#pragma mark - Text Field Delegate
- (void)textFieldDidBeginEditing:(UITextField *)textField {
UITapGestureRecognizer *tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(finishEditing:)];
[self.tableView addGestureRecognizer:tapRecognizer];
}
- (void)finishEditing:(UITapGestureRecognizer *)tapRecognizer {
[self.view endEditing:YES];
}
- (void)textFieldDidEndEditing:(UITextField *)textField {
[self saveName];
}
答案 0 :(得分:0)
将cancelsTouchesInView
设置为false会将触摸传递到视图。
当此属性为true(默认值)且接收器识别时 它的手势,那个待处理的手势的触摸不是 发送到视图,以前发送的触摸被取消 通过touchesCancelled:withEvent:消息发送到视图。如果一个 手势识别器无法识别其手势或者是否为其值 此属性为false,视图接收所有触摸 多点触控序列。
参见参考here