ios - 如何响应 UITextField 上的触摸事件?

标签 ios uitextfield

我想响应 UITextField 上的触摸事件(特别是 UIControlEventTouchUpInsideUIControlEventTouchUpOutside),但唯一发生的事件是 UIControlEventTouchCancel

我不能使用 UIControlEventEditingDidBegin,因为它只在字段获得焦点时发生,这不是我要检测的。我想知道用户何时抬起手指,是在文本字段内部还是外部,无论当前的焦点状态如何。

有谁知道实现这个的方法吗?

明确地说,我已经尝试使用 addTarget:action:forControlEvents,但它不起作用。触摸事件被取消阻止。我想要一种方法来检测 UITextField 使用它并产生 Cancel 事件之前 的触摸。

另外,如果可能的话,我想避免创建任何额外的 View 。

最佳答案

好吧,一种绕过的方法是创建一个 UIButton,其填充设置为清除以覆盖所有空间,并在其顶部创建一个 UITextField。如果用户触摸文本字段,文本字段应该发送一个事件,如果用户触摸文本字段之外,UIButton 将发送事件。

关于ios - 如何响应 UITextField 上的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797726/

相关文章:

ios - 使用 NSPredicate 的方法减少代码重复

ios - UIColor 返回暗模式颜色的错误值

ios - 当用户键入不正确的输入时,以红色突出显示 textField

iOS - 设计具有透明背景的自定义 UITextField 的最佳方法

ios - 如何在 IOS 8 中使 UINavigationBar 透明?

ios - Frank (Cucumber) - 检测首次运行

ios - 从另一个 View Controller 设置值文本字段

ios - iOS 中的富文本编辑器

objective-c - objective-c 中的UITextField shouldChangeCharactersInRange方法

ios - Swift UITextField deleteBackward 问题