Я встраиваю изображение в NSAttributedString и хочу, чтобы iOS воспринимала его как символ, являющийся частью слова перед ним, чтобы он не разбивался на собственную строку.Я читал где-то, что должно быть поведением по умолчанию, но я не могу заставить его работать.Вот мой код (я вставляю эту атрибутированную строку как заголовок кнопки):
var title = "This is an example string. Test testtt"
let titleTextString = NSMutableAttributedString(string: title)
let imageAttachment = NSTextAttachment()
imageAttachment.image = UIImage(named:"myIcon")
imageAttachment.bounds = CGRect(x: 0, y: 1.0, width: 14, height: 6)
let imageAttachmentString = NSMutableAttributedString(attachment: imageAttachment)
titleTextString.append(imageAttachmentString)
button.setAttributedTitle(titleTextString, for: .normal)
Вот изображение того, как это выглядит:
![enter image description here](https://i.stack.imgur.com/ITjW6.png)
Как видите, в конце строки нет пробелов.Я пытаюсь заставить метку считать текстовое вложение обычным непробельным символом, и, таким образом, частью слова «testtt», что может привести к переносу слова «testtt» (в противном случае слова правильно переносятся словамии я установил перенос слов как на метку, так и в стиле абзаца NSAttributedString).
Сложность в том, что я обнаружил существование неразрывного, который решает проблему, но заставляет другиечасти строки должны быть излишне сломаны.Если я добавлю неразрывный пробел в конец строки:
var title = "Это пример строки. Test testtt" + "\ u {A0}"
I тогдаполучить правильное поведение прерывания, но по какой-то причине предыдущее слово также неоправданно нарушено:
![enter image description here](https://i.stack.imgur.com/MS59P.png)
Кто-нибудь знает, как объяснить это поведениемправильно (т.е. считать изображение как любую другую букву, а не как пробел?)