Я пробовал так много разных вещей, основываясь на том, что нашел в Интернете, и до сих пор не могу этого сделать. Есть похожие вопросы, которые я пытался собрать воедино, но это все еще не работает. Вот что у меня есть до сих пор:
class CustomUITextView: UITextView {
override func paste(sender: AnyObject?) {
let data: NSData? = UIPasteboard.generalPasteboard().dataForPasteboardType("public.png")
if data != nil {
let attributedString = self.attributedText.mutableCopy() as! NSMutableAttributedString
let textAttachment = NSTextAttachment()
textAttachment.image = UIImage(data: data!)
let attrStringWithImage = NSAttributedString(attachment: textAttachment)
attributedString.replaceCharactersInRange(self.selectedRange, withAttributedString: attrStringWithImage)
self.attributedText = attributedString
} else {
let pasteBoard: UIPasteboard = UIPasteboard.generalPasteboard()
let text = NSAttributedString(string: pasteBoard.string!)
let attributedString = self.attributedText.mutableCopy() as! NSMutableAttributedString
attributedString.replaceCharactersInRange(self.selectedRange, withAttributedString: text)
self.attributedText = attributedString
}
}
}
Кроме того, мой IBOutlet для textView находится в другом файле и имеет созданный мной пользовательский тип:
@IBOutlet var textView: CustomUITextView!
Я создал подкласс UITextView и присвоил его моему текстовому представлению. Затем я переопределяю функцию вставки, чтобы разрешить изображения, так как я прочитал, что UITextField не поддерживает вставку изображений по умолчанию. В настоящее время это работает для текста, но не для изображения ---> если я делаю долгий жест нажатия, чтобы отобразить меню, кнопка «Вставить» никогда не появляется, если на PasteBoard есть изображение; он показывает только если есть текст.
В конечном счете, я хочу вставить PNG, JPEGS и изображения из URL-адресов в свое текстовое представление. Кто-нибудь, пожалуйста, помогите!!