在UITextView中获取触摸事件

3

苹果并没有为 UITextView 提供触摸事件处理。我正在开发的项目包括可读和可编辑的笔记,而我正在使用一个 UITextView。请帮助我解决这个问题——如何在我的项目中获取触摸事件?

4个回答

4

感谢您的回复。
  • (BOOL)textViewShouldBeginEditing:(UITextView *)textView; 这些方法只有在 [textView seteditable:yes]; 被调用时才会被调用;但是如果我想改变一些文本背景的颜色,我必须禁用编辑。请告诉我如何在 ui-textview 中的特定位置插入图像。如果可能,请在此处发布一些可靠的代码。
提前致谢
- Madhu
您无需禁用编辑即可更改背景!此外,您始终可以将UITextView包装在自定义UIView中,并在其中捕获触摸事件(必要时使用委托)。我使用此方法轻松地捕获MKMapView上的触摸事件。这是一个很好的方法,不会影响您的UITextViewDelegate方法。 - Kevin Elliott

1

只是想要补充一下Kevin的回答。UITextView继承自UIScrollView。你应该会得到UIScrollViewDelegate协议中为文本视图声明的所有事件。

我得到了:

-(void)scrollViewDidScroll:(UIScrollView *)scrollView

当我将我的类声明为UITextView的代理时。

1
创建自定义的TextView并在该自定义类中提供触摸事件,然后您可以在该自定义类的委托中创建方法。

0

我通过使用自己的逻辑解决了这个问题。

在阅读过程中,我们在textview上添加了一个Custom View并使用这些方法进行操作:

(void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event

但是当我们处于编辑模式时,就不再可能了。无论如何,我的要求只是在可读模式下。
感谢您对解决问题的支持。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接