UITextView:在模拟器中工作的链接检测,而不是在设备上
我有两个UITextViews包含数据,应该通过数据检测识别,但是一个工作正常的设备和模拟器有一个只能在模拟器下工作。 我试图从我的设备中捣毁构build,清理产品,删除派生的数据,似乎没有任何东西可以解决不一致的问题。
在Interface Builder中启用链接检测,数据被传入一个NSString stringWithFormat:
格式化的string,并使用UITextView setText:
设置UITextView setText:
NSString stringWithFormat:
对于两者设置相同的方式,所以没有任何区别,但它似乎并没有正确地为其中之一工作。
编辑:在设备上,如果我点击应该检测的项目之一作为一个链接,它会然后变成蓝色,并做链接检测。 我没有设置任何自定义的字体或颜色,可能会有影响。
看来,诀窍是setScrollable:NO。 似乎解决这个问题,但如果你需要滚动,我不知道答案是什么…
显然这个问题是由iOS如何处理UITextView链接引起的。 它创build一个NSAttributedString,将文本的各个部分变成蓝色(当视图包含链接时)。 所以我发现只有当链接是AttributedString中的第一个文本,即文本视图中的第一个文本时,才会发生这个错误。 所以在设置之前,可以通过在文本上加一个空格来解决这个问题。 或者覆盖setText为“”+文本;
希望这可以帮助家伙
- Swift – 从multidimensional array中填充多个部分的TableViews
- 你可以编程访问Cocoa Touch中的标准本地化string吗?
- 如果NSURL不存在,请将http://添加到NSURL
- didReceiveRemoteNotification在我在后台收到推送通知后点击应用程序图标时未被调用
- 如何进行multithreading加载图像更快到tableView?
- 应用程序运行时的Delphi Apple推送通知
- 在Swift中通过UIWebView覆盖一个UIButton
- UITextField获取焦点,然后由于在textFieldShouldReturn中返回YES而立即失去焦点
- 如何加载Web视图中的URL链接并将其保留在SWIFT中的该Web视图中