Iphone 如何创建支持URL链接且可编辑的UITextView?

Iphone 如何创建支持URL链接且可编辑的UITextView?,iphone,cocoa-touch,Iphone,Cocoa Touch,我有一个UITextView,可以正确显示URL: contentView.editable = NO; contentView.dataDetectorTypes = UIDataDetectorTypeAll; 我的目标是让你仍然可以点击这个文本视图,以便像内置的Notes应用一样在特定位置编辑文本。这样,如果你点击一个链接,它会启动一个浏览器,但是如果你点击其他地方,它会在你点击的地方开始编辑。应该很容易吧 不远。子类化UITextView并覆盖touchSedend,可以将“可编辑”设

我有一个UITextView,可以正确显示URL:

contentView.editable = NO;
contentView.dataDetectorTypes = UIDataDetectorTypeAll;
我的目标是让你仍然可以点击这个文本视图,以便像内置的Notes应用一样在特定位置编辑文本。这样,如果你点击一个链接,它会启动一个浏览器,但是如果你点击其他地方,它会在你点击的地方开始编辑。应该很容易吧

不远。子类化UITextView并覆盖touchSedend,可以将“可编辑”设置为“是”。但当您这样做时,文本视图不记得您点击了selectedRange的位置,因此无法正确设置,因此编辑总是从文本视图的底部开始

我甚至尝试过使用未记录的setSelectionWithPoint方法,但它的行为与您预期的不同


有人能想出一些方法来实现适当的点击以编辑带有可点击链接的UITextView吗?

也许您可以尝试保留UITouch和UIEvent,或者使用具有相同类签名的自定义类伪造副本,然后在将“可编辑”设置为“是”后重新发送ToucheSBegind:和touchesEnded:事件。

正确,我试过了,但不幸的是UITextView似乎自己完成了大部分触摸处理。将ToucheSBegind:和touchesEnded:事件重新发送到自定义UITextView的超类不会产生所需的结果,即模拟点击UITextView。稍微深入了解一下UITextView,看起来可能会有较低级别的mouseUp和mouseDown事件。但我不知道如何访问它们。