Подчеркнутая строка подчеркивания не работает с внешними шрифтами - PullRequest
0 голосов
/ 14 ноября 2018

У меня есть UITextView, и я хочу добавить в него часть текста ссылки. Эти встроенные ссылки должны быть подчеркнуты. Когда я устанавливаю его font как одну из встроенных, он работает должным образом, но с Ubuntu font он не работает, хотя цвет гиперссылок установлен.

let linkTextView = UITextView()
let linkAttributes: [NSAttributedString.Key: Any] = [NSAttributedString.Key.foregroundColor: Design.colorPrimary,
        NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue,]
linkTextView.linkTextAttributes = linkAttributes
linkTextView.isUserInteractionEnabled = false

let allText = "example link"
let linkText = "link"
let NStext = NSString(string: allText)
let attributedString = NSMutableAttributedString(string: allText)

attributedString.addAttribute(.link, value: NSURL(string: "https://www.apple.com")!, range: NStext.range(of: linkText))
linkTextView.attributedText = attributedString
linkTextView.heightAnchor.constraint(equalToConstant: 100).isActive = true

linkTextView.font = UIFont(name: "Ubuntu", size: 20)!//this does not
//linkTextView.font = UIFont(name: "ArialMT", size: 20)! // this works

ArialMT:

enter image description here

Ubuntu:

enter image description here

так как я могу это исправить?

1 Ответ

0 голосов
/ 14 ноября 2018

Вы пытались изменить шрифт перед установкой атрибутивной строки?

Подчеркивание может быть удалено при изменении шрифта, когда шрифт не влияет на textColor.

С уважением

...