Sto provando a creare una tastiera personalizzata per iOS utilizzando immagini che ho inserito come pulsanti. Quando premo un pulsante, l'immagine collegata al pulsante viene inserita in una stringa attribuita che viene caricata in un UiTextView all'interno della visualizzazione personalizzata della tastiera. Funziona.Come aggiungere immagini come allegato di testo in Swift utilizzando nsattributedstring
Il problema è che quando aggiungo una nuova immagine alla stringa attribuita, le vecchie e le nuove immagini nella stringa si stanno modificando sull'immagine che ho attualmente premuto. Non riesco a capire perché le vecchie immagini nella stringa stanno cambiando.
Qualche suggerimento? Ho provato a utilizzare replaceCharactersInRange e insertAttributedString ma non riesco a farlo funzionare. Ecco il codice (dopo viewDidLoad):
let textAttachment = NSTextAttachment()
let textView = UITextView(frame: CGRectMake(5, 5, 200, 40))
var attributedString = NSMutableAttributedString(string: "")
@IBAction func buttonPressed(button :UIButton) {
let string = button.titleLabel?.text
textAttachment.image = UIImage(named: "\(string!).png")!
textAttachment.image = UIImage(CGImage: textAttachment.image!.CGImage!, scale: 6, orientation: .Up)
let attrStringWithImage = NSAttributedString(attachment: textAttachment)
attributedString.appendAttributedString(attrStringWithImage);
textView.attributedText = attributedString;
}
Grazie!
Se ho 2 immagini differenti allegati, come potrei riconoscere quale im clic? Ho fatto il codice per stampare qualcosa quando si fa clic su un allegato di immagine, ma ho bisogno di realizzare azioni diverse a seconda dell'immagine. –
Inoltre, è possibile allegare un video? –