我尝试使用下面的代码片段来实现它,
testLabel.attributedText = getKnowMoreAttributedText()
func getAttributedString() -> NSAttributedString {
let defaultAttr: [NSAttributedString.Key: Any] = [.foregroundColor: UIColor.darkText, .font: UIFont.systemFont(ofSize: 12.0)]
let resultStr = NSMutableAttributedString(string: "Some random text. Dashed underline text", attributes: defaultAttr)
let dashed = NSUnderlineStyle.patternDot.rawValue | NSUnderlineStyle.single.rawValue
resultStr.addAttributes([.underlineStyle : dashed], range: (resultStr.string as NSString).range(of: "Dashed underline text"))
return resultStr
}
输出:请参阅下面的屏幕截图。
问题是破折号和文字之间没有空格。
预期输出:
我也尝试使用UITextView
代替UILabel
,但是运气不好。