UITextView中的自定义地址链接样式

时间:2018-03-13 00:52:20

标签: ios xcode uikit uitextview nsdatadetector

我在UITextView内部看到一些奇怪的东西。 UITextView能够检测到我的地址,但我无法设置文本样式,即使我能够设置电话号码和电话号码。网站链接。

请参阅下面的代码(我已尝试tintColor& linkTextAttributes - 两者似乎都适用于地址链接以外的其他内容)

let t = "One Infinite Loop Cupertino, CA 95014 some other text yeah www.google.com 123-555-1212 One Infinite Loop Cupertino, CA 95014"
let a = NSAttributedString(string: t)

self.textView.attributedText = a
self.textView.isEditable = false

self.textView.textColor = .green
self.textView.tintColor = .blue

self.textView.dataDetectorTypes = [.link, .address, .phoneNumber]

let linkAttributes: [String : Any] = [
    NSAttributedStringKey.foregroundColor.rawValue: UIColor.red,
    NSAttributedStringKey.underlineColor.rawValue: UIColor.orange,
    NSAttributedStringKey.underlineStyle.rawValue: NSUnderlineStyle.styleSingle.rawValue]

self.textView.linkTextAttributes = linkAttributes

enter image description here

正如您所看到的,地址加下划线&可单击(单击将我带到地图),但红色不会应用于它,即使数据检测器检测到的其他内容也会被选中。

思想?

0 个答案:

没有答案