mutableAttributedString

mutableAttributedString

我有以下代码:

let range = NSRange(location: 0, length: mutableAttributedString.string.lengthOfBytes(using: String.Encoding))
mutableAttributedString.addAttribute(NSAttributedString.Key.font, value: UIFont.preferredFont(forTextStyle: UIFont.TextStyle.body), range: range)


我需要知道在上面代码的第一行中对于参数“ using”说“ String.Encoding”的地方使用哪种字符串编码。 String对象始终来自iOS键盘。

最佳答案

如果要创建用于添加属性的NSRange,我认为lengthOfBytes不是您要的内容。这里的范围代表原始mutableAttributedString中的子字符串,如果您只是想向整个字符串添加属性,则范围应定义为:

let range = NSRange(location: 0, length: mutableAttributedString.string.count)


否则,我不确定您将使用lengthOfBytes做什么,但是我认为这似乎无法在您添加属性时起作用。

09-06 16:38