如何制作支持URL链接并可以编辑的UITextView?

时间:2009-10-07 01:14:45

标签: iphone cocoa-touch

我有一个正确显示URL的UITextView:

contentView.editable = NO;
contentView.dataDetectorTypes = UIDataDetectorTypeAll;

我的目标是制作它,以便您仍然可以点按此文本视图,以便在特定位置编辑其文本(就像内置的Notes应用程序一样)。这样,如果你点击一个链接,它就会启动一个浏览器,但是如果你点击其他任何地方,它就会在你点击的位置开始编辑。应该很容易,对吧?

不是很远。对UITextView进行子类化并覆盖touchesEnded,您可以将editable设置为YES。但是,当您这样做时,文本视图不记得您点击的位置(selectedRange未正确设置),因此编辑始终从文本视图的底部开始。

我甚至尝试使用未记录的setSelectionWithPoint方法,但它的行为并不像您期望的那样。

有人能想出一些方法来实现使用可点击链接正确点击编辑UITextView吗?

1 个答案:

答案 0 :(得分:0)

也许您可以尝试使用具有相同类签名的自定义类保留UITouch和UIEvent或伪造副本,然后在将editable设置为YES后重新发送touchesBegan:touchesEnded:个事件。< / p>