У меня есть этот код для создания атрибутивной строки с изображением в UITextView
func setImageOnString (imageName: String) {
let fullString = NSMutableAttributedString(attributedString: attributedText) let imageAttachment = NSTextAttachment() imageAttachment.image = #imageLiteral(resourceName: "UncheckedImage") imageAttachment.bounds = CGRect(x: 0, y: 0, width: 14, height: 14) let image1String = NSAttributedString(attachment: imageAttachment) let myCustomAttribute = [ "MyCustomAttributeName": "some value"] fullString.append(image1String) fullString.addAttributes(myCustomAttribute, range: selectedRange) self.attributedText = fullString }
Но тогда я не могу найти способ изменить это изображение, когда что-то происходит, например, прикосновение. Проблема не в прикосновении, а в смене изображения.
enumerateAttribute()
для поискаNSAttachmentAttributeName
и вызовитеreplacingOccurrences(of: with:)
для его замены. См. там stackoverflow.com/questions/41535726/ (и комментарии) - person Larme   schedule 03.02.2017