Я пытаюсь сделать выделенный текст в UITextview полужирным или курсивом , и это работает для меня, но, скажем, я получил строку "один два", и я делаю " один «жирный», поэтому он будет выглядеть так: « один два». Теперь, если я хочу сделать «два» жирным шрифтом или курсивом, это произойдет: «один два ». Есть ли объяснение, почему это происходит, и есть ли исправление для этого?
let main_string = textView2.text
let string_to_change = selectedTextWBU
let range = (main_string! as NSString).range(of: string_to_change)
let attributedString = NSMutableAttributedString(string: main_string!, attributes: [kCTFontAttributeName as NSAttributedStringKey : font])
if selectedTextWBU == ""{
}else{
//highlight
if sender.tag == 1{
print("SELECTEDTEXTWBU == \(selectedTextWBU)")
textView2.attributedText = attributedString
//italic
}else if sender.tag == 2{
attributedString.addAttribute(kCTFontAttributeName as
NSAttributedStringKey, value: italicsFont, range: range)
textView2.attributedText = attributedString
//bold
}else if sender.tag == 3{
attributedString.addAttribute(kCTFontAttributeName as NSAttributedStringKey, value: boldFont, range: range)
textView2.attributedText = attributedString
}
}