UITextField 上的 UITapGestureRecognizer

Posted

技术标签:

【中文标题】UITextField 上的 UITapGestureRecognizer【英文标题】:UITapGestureRecognizer on UITextField 【发布时间】:2013-03-19 15:44:36 【问题描述】:

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

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

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

- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField


    return YES;

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

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

【问题讨论】:

你打电话给canBecomeFirstResponder而不是becomeFirstResponder 【参考方案1】:

使用becomeFirstResponder 而不是canBecomeFirstResponder

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

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

- (void)tappedOnTitle:(UITapGestureRecognizer *)recognizer

    [titleField becomeFirstResponder];

【讨论】:

以上是关于UITextField 上的 UITapGestureRecognizer的主要内容,如果未能解决你的问题,请参考以下文章

单元测试 UITextField 上的操作

UITextField 上的强密码覆盖

UITextField 上的 UITapGestureRecognizer 不再适用于 IOS 7.1

没有看到 UIScrollView 上的 UITextField 时 resignFirstResponder

UITextField上的限制字符会破坏Emojis,只能添加一个不能删除

如何检测 UITextField 上的点击?