【问题标题】:Init touch by UITapGestureRecognizer's -locationInView通过 UITapGestureRecognizer 的 -locationInView 初始化触摸
【发布时间】:2015-01-26 15:47:45
【问题描述】:

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

【问题讨论】:

  • 你能说清楚你问的是什么吗?
  • @Ian MacDonald 看,我在 UITableView 的顶部有 UITextField。当我开始编辑文本时,我将 UITapGestureRecognizer 放在我的 tableView 上,以便发送 -endEditing 以关闭键盘并保存更改。这是最有趣的:在完成上述所有操作之后,我需要实现单元格的操作!希望这会有所帮助!

标签: ios objective-c uitableview gesture touches


【解决方案1】:

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

当此属性为真(默认)并且接收器识别 它的手势,该手势的未决触摸不是 传递到视图和先前传递的触摸被取消 通过一个 touchesCancelled:withEvent: 消息发送到视图。如果一个 手势识别器无法识别其手势,或者如果 此属性为 false,视图接收所有触摸 多点触控序列。

见参考here

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多