Когда я пытаюсь добавить атрибуты к атрибутной строке, содержащей emojis, иногда некоторые из emojis сломаны. Для обычного текста работает отлично. Любые идеи, что я делаю неправильно?Добавление атрибутов в строку с emojis breaks some emojis
Вот моя функция - она должна смелые цитаты (текст между первой и последней кавычку)
func boldQuotation(str: String, fontSize: CGFloat) -> NSAttributedString {
let normalAttributes = [NSFontAttributeName : UIFont.systemFontOfSize(fontSize)]
let boldAttributes = [NSFontAttributeName : UIFont.boldSystemFontOfSize(fontSize)]
let attributedStr = NSMutableAttributedString(string: str, attributes: normalAttributes)
let firstQuotationMarkRange = str.rangeOfString("\"")
let lastQuotationMarkRange = str.rangeOfString("\"", options: [.BackwardsSearch], range: nil, locale: nil)
guard let firstIndex = firstQuotationMarkRange?.startIndex, lastIndex = lastQuotationMarkRange?.endIndex else {
return attributedStr
}
attributedStr.addAttributes(boldAttributes, range: NSMakeRange(str.startIndex.distanceTo(firstIndex), firstIndex.distanceTo(lastIndex)))
return attributedStr
}
Вот образец текста, который не может быть правильно отнести:
let str = "\"\""
результат выглядит как это:
Я использую Swift 2.3, iOS 10.2.1, Xcode 8.2.1, Цель развертывания: 9.3