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