ios - 将 TapGestureRecogniser 添加到 UITextView

标签 ios objective-c uitableview uitextview

我看过类似的问题并尝试了答案,但我无法让它们正常工作,如果这是一个重复的问题,我们深表歉意。

我的 TableView 上有两个地址字段,它们是动态添加到静态单元格中的。当用户在第一个框中输入地址时,我希望在他们单击第二个地址字段时出现“复制地址”问题,如果他们回答"is",则复制地址。我在 tableView didSelectRowAtIndexPath 上工作,但是当用户直接点击字段中的 UITextView 时它不起作用。我尝试将以下内容添加到 viewDidLoad() 函数中:

UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self.billingAddress addGestureRecognizer:tap];

但当点击 UITextView billingAddress 时,以下代码不会触发。

- (void)handleTap:(UITapGestureRecognizer *)recognizer
{
    NSLog(@"I am here");
}

我应该注意到,billingAddress 被定义为一个 UITextField 属性,并在来自静态单元格的 tableView cellForRowAtIndexPath 中分配了单元格的详细信息。这是使用以下代码完成的:

if (section == 0 && row == 3) {
    BFCell* cell = [self.tableView dequeueReusableCellWithIdentifier:@"CheckoutInputCell"];
    cell.nameLabel.text = @"Billing Address";
    cell.nameLabel.font = [UIFont fontWithName:@"Populaire" size:23.0f];
    cell.textField.placeholder = @"Required";
    self.billingAddress = cell.textField;
    cell.textField.keyboardType = UIKeyboardTypeAlphabet;
    return cell;
}

我想知道我是否将点击手势分配给了错误的位置,它应该分配给 cell.textField。对此的任何帮助将不胜感激。

最佳答案

我认为发生的是文本字段和手势识别器之间的冲突。我会使用 UITextFieldDelegate textFieldShouldBeginEditing: 来检测用户何时点击文本字段。

关于ios - 将 TapGestureRecogniser 添加到 UITextView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35038782/

相关文章:

ios - 在 View 外部创建的 UIButton 不起作用

objective-c - 多线程在 NSView 中绘制

iphone - 总是从表的第一个索引开始显示?

ios - 如何在自定义 TableviewCell 的按钮点击上添加 ActivityIndi​​cator?

ios - 如何从最后一个 .POST 按日期重新排序 tableview 单元格

ios - 如果变量发生变化则执行函数

ios - 如何在 map View 中拖动注释图钉?

objective-c - 对于对象继承的集合中的对象

objective-c - @property 和@synthesize

ios - Firebase & Swift - 使用 UTC -7 保存的日期?