ios - UITextField 的清除按钮在 UITableViewCell 中不起作用

标签 ios uitableview uitextfield

我有一个包含一些单元格的 UITableView,我向每个单元格添加了一个 UITextField

我设置了 textField.clearButtonMode = UITextFieldViewModeWhileEditing

当我编辑 textField 时,清除按钮和键盘都出现了。我在 textField 中输入一些文字,然后点击清除按钮,键盘将被隐藏,但 textField 中的文本不会被清除。

除清除按钮外,其他所有按钮都运行良好。

最佳答案

我遇到这个问题是因为我忘记了我正在使用 UITapGestureRecognizer 来捕捉桌面上的点击以关闭键盘并且它正在捕捉清除按钮上的点击,阻止它运行。在 UITapGestureRecognizer 上添加 cancelsTouchesInView=NO 让触摸仍然生效,并在 tapper 方法上使用 CGRectContainsPoint 进行检查以仅结束编辑和 resignFirstResponder 仅当点击不在当前 UITextField 的框架矩形上时。请注意,这仍然不完全完美,因为在自动更正上点击 X 可能会超出文本字段的矩形框,因此也许检查单元格的 contentView 会更好。

关于ios - UITextField 的清除按钮在 UITableViewCell 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11923469/

相关文章:

ios - 尝试上传应用程序和包标识符验证失败

ios - UITableViewCell 中 UICollectionView 的自动高度

ios - 在ios中对textField设置多重验证

ios - 清除按钮将 UITextField 设置为什么?

ios - 管理一个项目的多位信息的最佳方式?

ios - 我需要调用 CGContextSaveGState 和 CGContextRestoreGState 吗?

swift - 仅圆角桌面 View 的底角

ios - 不再支持 UITextField -webView

iphone - 停止 UIButtons 干扰 UIScrollView

ios - 数组中的多个项目给出符合编码的错误