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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (42)

我想对触控事件做出反应(特别是UIControlEventTouchUpInsideUIControlEventTouchUpOutside)在UITextField,但唯一能通过的是UIControlEventTouchCancel

我不能用UIControlEventEditingDidBegin,因为它只在字段获得焦点时发生,这不是我试图检测到的。我想知道用户何时举起手指,以及它是在文本字段内还是在文本字段之外,而不管当前焦点状态如何。

有人知道怎么做到这一点吗?

我已经试过用addTarget:action:forControlEvents而它不起作用“取消”阻止了“触摸”事件。我想要一种检测“触摸”的方法。以前UITextField使用它并生成取消事件。

此外,如果可能的话,我希望避免创建任何额外的视图。

提问于
用户回答回答于

使用文本字段的委托并在textFieldShouldBeginEditing中执行您想要的操作:

您可以返回NO以防止默认行为。

用户回答回答于

那么关于这样做的一个方法就是创建一个UIButton,将填充集设置为清除以覆盖所有空间,并在其上面放置一个UITextField。如果用户触摸到文本字段,则文本字段应该发送一个事件,并且如果用户触摸到文本字段之外,则UIButton将发送该事件。

所属标签

可能回答问题的人

  • 应用案例分享

    1 粉丝490 提问5 回答
  • o o

    4 粉丝495 提问5 回答
  • 找虫虫

    5 粉丝0 提问4 回答
  • 天使的炫翼

    20 粉丝531 提问3 回答

扫码关注云+社区

领取腾讯云代金券