代码之家  ›  专栏  ›  技术社区  ›  Matthias Grün

为NSMutableAttributedString中的单个Unicode标量着色

  •  0
  • Matthias Grün  · 技术社区  · 4 年前

    Example

    第二个字符包含2个Unicode标量。我一直试图使用NSMutableAttributedString来实现这一点,但它似乎只能在字符级别上分配属性。但是,在这里,我将要求在Unicode标量级别上执行此操作。因为这个概念已经反映在有统一标量的事实上,我认为这应该是可能的,但是到目前为止还没有找到一种方法。

    我一直在努力:

        let val = inputThai.text!
        let finalString = NSMutableAttributedString()
        for ch in val {
            for scalar in ch.unicodeScalars {
                let thisString = NSMutableAttributedString(string: String(scalar))
                if (...condition...) {
                    thisString.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.red, range: NSRange(location: 0, length: 1))
                }
                finalString.append(thisString)
            }
        }
    

    但是,以红色突出显示的字符仍为黑色。

    有人知道我怎样才能做到这一点吗?

    0 回复  |  直到 4 年前