我有以下代码:
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键盘。
答案 0 :(得分:1)
如果您要创建一个NSRange
来添加属性,我不认为lengthOfBytes
是您要的内容。这里的范围代表原始mutableAttributedString
中的子字符串,如果您只是想向整个字符串添加属性,则范围应定义为:
let range = NSRange(location: 0, length: mutableAttributedString.string.count)
否则,我不确定您将使用lengthOfBytes
做什么,但是我认为这样做似乎并不能为您添加属性。