我有个UITextView,检测电话号码和链接,但是这导致覆盖了fontColor,变成blueColor。 有没有办法格式化自动检测链接的颜色?还是我应该尝试这个功能的手动版本?
原问题: Can I change the color of auto detected links on UITextView?
我有个UITextView,检测电话号码和链接,但是这导致覆盖了fontColor,变成blueColor。 有没有办法格式化自动检测链接的颜色?还是我应该尝试这个功能的手动版本?
原问题: Can I change the color of auto detected links on UITextView?
stonemonk
在iOS 7里你可以设置UITextView的 tintColor。它会影响链接的颜色,以及光标和选择文本的颜色。
Leandro Alves
我用UIWebView 代替UITextView,启用"auto-detect links"。只要给TAG创建一个固定CSS就可以改变连接的颜色。
我用的是这个:
Alexander
我发现一个不用Webview的方式。但是得使用私有API,并且可能被Appstore拒绝。
注:我的APP 虽然用了私有API,但是通过了Appstore的批准。
先用下面的函数在UITextView上声明一个类 :
这是在做以下几点:
现在为丰富多彩的链接写一个函数:
这能给所有类型的连接设置特定颜色的样式属性。
使用div可以使UITextViews像Webiview那样显示,所以你甚至可以给每个类型的链接分别设置不同的颜色。
x-apple-data-detectors-type="link"是正确链接类型的指示器。
注:这个在iOS 7 里就不起作用了。在iOS 7 里,设置就可以轻松改变链接的颜色。不要调用
你会遇到一个异常,如果想支持iOS 7,试试下面的: