如何在 UITextView 中处理点击而不丢失默认点击句柄事件

Posted

技术标签:

【中文标题】如何在 UITextView 中处理点击而不丢失默认点击句柄事件【英文标题】:How to handle tap in UITextView without losing default tap handle event 【发布时间】:2012-09-26 20:57:03 【问题描述】:

我正在使用 TapGestureRecognizer 来拦截 UITextView 上的单击。但是,此单击使默认单击事件不会发生。通常,如果没有我插入的个性化手势识别器,默认点击会显示键盘或菜单(剪切/复制/粘贴/...),具体取决于具体情况。

我已经看到一些应用程序,其中除了默认事件之外,在 UITextView 中点击后还会触发一个事件。

【问题讨论】:

【参考方案1】:

只需将[textField becomeFirstResponder] 添加到您的自定义逻辑中。这将像正常点击时一样打开文本字段的键盘。

【讨论】:

这正是我所需要的,但它立即让我想到了另一个问题:在 textField 成为第一响应者后,我实现的点击手势识别器不再响应点击。 您是否也将 textField 的功能添加到 resignFirstResponder 我会解释:当 UITextView 第一次被点击时,什么都不应该发生,它只需要获得焦点。这就是我添加 becomeFirstResponder 行后发生的情况。手势识别器选择器内部的条件已经设置,因此当标题栏可见时不会发生任何事情。当我开始编辑文本时,该栏被隐藏,这是我需要下一次点击才能生效的时候。如您所见,UITextView 不应该改变它的正常行为,但它也应该识别个性化的点击。如果我使用 resignFirstResponder,我认为它会失去焦点

以上是关于如何在 UITextView 中处理点击而不丢失默认点击句柄事件的主要内容,如果未能解决你的问题,请参考以下文章

在 UIAlertView(iOS、Xamarin)上添加 UITextView,而不使用任何第三方库

如何在 iPhone SDK 的 UITextView 中控制粘贴菜单的放置

滚动 UITextView 而不换行

如何在 Swift 中制作一个单词可点击的 UITextView?

如何在 ios 中点击 UITextView 打开 Pickerview(dropdown)?

当用户在 Swift 中点击 UITextView 时,如何运行一段代码?