我想响应 UITextField
上的触摸事件(特别是 UIControlEventTouchUpInside
和 UIControlEventTouchUpOutside
),但唯一发生的事件是 UIControlEventTouchCancel
。
我不能使用 UIControlEventEditingDidBegin
,因为它只在字段获得焦点时发生,这不是我要检测的。我想知道用户何时抬起手指,是在文本字段内部还是外部,无论当前的焦点状态如何。
有谁知道实现这个的方法吗?
明确地说,我已经尝试使用 addTarget:action:forControlEvents
,但它不起作用。触摸事件被取消阻止。我想要一种方法来检测 在 UITextField
使用它并产生 Cancel 事件之前 的触摸。
另外,如果可能的话,我想避免创建任何额外的 View 。
最佳答案
好吧,一种绕过的方法是创建一个 UIButton,其填充设置为清除以覆盖所有空间,并在其顶部创建一个 UITextField。如果用户触摸文本字段,文本字段应该发送一个事件,如果用户触摸文本字段之外,UIButton 将发送事件。
关于ios - 如何响应 UITextField 上的触摸事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8797726/