初始化由UITapGestureRecognizer的-locationInView触摸

时间:2015-01-26 15:47:46

标签: ios objective-c uitableview gesture touches

我在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];
}

1 个答案:

答案 0 :(得分:0)

cancelsTouchesInView设置为false会将触摸传递到视图。

  

当此属性为true(默认值)且接收器识别时   它的手势,那个待处理的手势的触摸不是   发送到视图,以前发送的触摸被取消   通过touchesCancelled:withEvent:消息发送到视图。如果一个   手势识别器无法识别其手势或者是否为其值   此属性为false,视图接收所有触摸   多点触控序列。

参见参考here