UITextView:链接检测在模拟器中工作,而不是在设备上工作

时间:2013-10-13 11:21:17

标签: ios uitextview

我有两个UITextViews包含应该通过数据检测来识别的数据,但是当一个设备和模拟器上的工作正常时,只能在Simulator下工作。我试图从我的设备中删除构建,清理产品,删除派生数据,似乎没有解决不一致的问题。

在Interface Builder中启用了链接检测,数据通过NSString stringWithFormat:格式化字符串传递,并使用UITextView setText:进行设置。为两者设置相同的方式,因此没有区别,但它似乎对其中一个没有正确的效果。

编辑:在设备上,如果我点击其中一个应该检测为链接的项目,它将变为蓝色并进行链接检测。我没有设置任何可能产生影响的自定义字体或颜色。

2 个答案:

答案 0 :(得分:5)

似乎诀窍是setScrollable:NO。似乎可以解决问题,虽然如果你需要滚动,我不确定答案是什么......

答案 1 :(得分:1)

显然,此问题是由iOS当前处理UITextView链接的方式引起的。它正在创建一个NSAttributedString,它将文本的各部分变为蓝色(当视图包含链接时)。所以我发现只有在链接是AttributedString中的第一个文本(即文本视图中的第一个文本)时才会出现此错误。因此,在设置之前,可以通过在文本前添加空格来轻松修复它。或者将setText覆盖为“”+ text;

希望这有助于家伙