UITextView / UILabel Swift中每个链接的不同文本属性

时间:2016-11-18 15:25:05

标签: ios swift hyperlink uitextview nsattributedstring

我想在UITextView或UILabel中为每个链接设置不同的样式。我目前正在使用UITextViews链接,但我希望网址显示为紫色,用户名显示为黑色。我也查看了TTTAttributedLabel,但似乎无法找到如何实现这一目标。

textView.linkTextAttributes = [NSForegroundColorAttributeName: UIColor.orange]
attributedString.setAttributes([NSLinkAttributeName: url, range: range)
attributedString.addAttributes([NSForegroundColorAttributeName: UIColor.purple], range: range)

在上面的例子中,这是我尝试过的,链接将是橙色,而不是紫色。如果我没有设置linkTextAttributes,链接将为蓝色。如何使用每个链接的不同属性覆盖linkTextAttributes?

1 个答案:

答案 0 :(得分:0)

linkTextAttributes无法指定每个单词的文字行为。 你试试这个吗? https://github.com/rinov/RegeributedTextView

textView.addAttribute("text1", attribute: .linkColor(.orange))
textView.addAttribute("text2", attribute: .linkColor(.purple))

NSRange会自动计算。