【问题标题】:Character spacing on particular text - UILabel ( HTML)特定文本上的字符间距 - UILabel ( HTML)
【发布时间】:2020-12-01 21:07:30
【问题描述】:

我正在尝试在特定文本上添加字母间距。来自服务器的带有 HTML 标签的大文本,我只需要 P 标签的字母间距。但除了字母间距之外,一切正常。我错过了什么吗?有没有办法用属性文本做到这一点,还是需要用另一种解决方案来解决? 我目前已尝试以下示例:

let htmlCSSString = "<style>" +
            "html *" +
            "{" +
            "font-size: 15px !important;" +
            "font-family: Arial !important;" +
            "text-align: justify;" +
            "line-height: 1.5;" +
            "text-justify: distribute;" +
            "}" +
            "p" +
            "{" +
            "font-size: 15px !important;" +
            "font-family:  Chap-Semibold !important;" +
            "letter-spacing: 2.6px;" +
            "color: white;" +
            "text-align: center;" +
        "}</style> \(text)" 

        guard let data = htmlCSSString.data(using: .utf8) else { return  }

         do {

  let attributedStr =  try NSMutableAttributedString(data: data,  options: [.documentType: NSMutableAttributedString.DocumentType.html,  .characterEncoding: String.Encoding.utf8.rawValue],documentAttributes: nil)


  lb_details.attributedText = attributedStr
}

我不能使用 NSAttributedString.Key.kern 因为我不知道文本的范围.. 谁能解释一下为什么只有字母间距不起作用?

【问题讨论】:

    标签: html swift nsattributedstring


    【解决方案1】:

    您可以使用 NSAttributedString.Key.kern 设置字符间距

    let attbStr = NSMutableAttributedString(string: "YOUR_STRING")
    attbStr.addAttribute(NSAttributedString.Key.kern, value: 10/*SET_SPACING_VALUE*/, range: NSMakeRange(0, attbStr.length - 1))
    YOUR_TEXT_LABEL.attributedText = attbStr
    

    您可以找到所需子字符串的范围:How to get range of substring in swift3?

    【讨论】:

    • 谢谢,但这是一个很大的文本,我不知道文本的范围
    • 在答案中我使用了 range NSMakeRange(0, attbStr.length - 1) 假设您需要为所有字母设置空间。
    • 您可以找到所需子字符串的范围:stackoverflow.com/questions/40328242/…
    • 我说的是来自服务器的带有 HTML 标签的整个大文本,我只需要 P 标签所在的字母间距。我将在问题中对此进行编辑。为什么这种方式不起作用?
    猜你喜欢
    • 2017-02-19
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 2014-07-22
    • 1970-01-01
    • 2015-11-24
    • 2016-10-16
    • 1970-01-01
    相关资源
    最近更新 更多