-1

我已将 UITableViewCell 子类化并将 UITextField 添加到该单元格,对于 UITextField 我删除了所有手势识别器(因为在一次点击后成为第一响应者)并添加了在三次点击后调用的 UITapGestureRecognizer

- (void)tappedOnTitle:(UITapGestureRecognizer *)recognizer{
    NSLog(@"triple");
    [titleField canBecomeFirstResponder];
}

然后我的UITextField(titleField)代表被问到

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{

    return YES;
}

它总是返回是,但键盘不显示(两种方法都被调用)。

我的问题是如何仅在三次点击时激活编辑?

4

1 回答 1

0

使用becomeFirstResponder代替canBecomeFirstResponder

becomeFirstResponder只通知接收者它即将成为其窗口中的第一响应者。

canBecomeFirstResponder返回一个布尔值,指示接收者是否可以成为第一响应者。

- (void)tappedOnTitle:(UITapGestureRecognizer *)recognizer{

    [titleField becomeFirstResponder];
}
于 2013-03-19T15:48:03.883 回答