UITextField 事件处理

发布于 2024-08-30 03:39:49 字数 83 浏览 3 评论 0原文

是否可以检测用户在 UITextField 中切换到哪个文本位置(只是切换而不是编辑,文本字段是只读的)?例如,通过捕获触摸开始事件然后处理选项卡位置?

Is it possible to detect at what text position the user tabs into a UITextField (just tabbing not editing, the text field is read-only)? E.g. by capturing the touches began event and then processing the tabbed position?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

恏ㄋ傷疤忘ㄋ疼 2024-09-06 03:39:49

是的,为 UITextField 设置委托,您可以知道用户在文本字段中做什么。请参阅 UITextField 类参考了解详细信息。

编辑:好的,因为它是只读文本字段,所以您应该子类化 UITextField 并覆盖 beginTrackingWithTouch:withEvent:endTrackingWithTouch:withEvent: 这样你就可以看到在哪里触碰和触碰发生在 UIControl 内(UITextField 是 UIControl)。这些方法是通过 UITouch 对象调用的,该对象告诉您触摸发生在 UIControl (UITextField) 中的位置。

我不知道你为什么要这样做。但无论如何,从那里开始,您必须根据控件中的触摸 x,y 偏移量找出触摸发生在文本中的位置。这将是另一个需要解决的有趣任务。

Yes, set a delegate for UITextField and you can tell what the user is doing in the text field. See the UITextField class reference for details.

EDIT: OK, since it's a readonly text field, you should subclass UITextField and override the beginTrackingWithTouch:withEvent: and endTrackingWithTouch:withEvent: so you can see where the touch down and touch up occurred withing the UIControl (UITextField is a UIControl). Those methods are called with a UITouch object that tells you where the touch occurred within the UIControl (UITextField).

I don't know why you would want to do this. But anyway from there you'll have to figure out where in the text the touch occurred given the touch x,y offset in the control. That'll be another fun task to solve.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文