2016-10-13 2 views
0

Ich arbeite an iOS benutzerdefinierte Tastatur. In diesem muss ich Aufkleber und Gifs in der kundenspezifischen Tastatur zeigen, kann ich die Bilder auf der Tastatur zeigen, aber das Problem ist, wenn Benutzer ein Bild von der Tastatur auswählen, die ich es auf dem textDocumentProxy zeigen möchte. Nach einigen Recherchen habe ich verstanden, dass es nicht möglich ist, die Bilder als textDocumentProxy.insertText einzufügen. Also versuchte ich UIPasteboard, um das Bild von der Tastatur zu kopieren und in das Eingabefeld like this einzufügen.Problem mit benutzerdefinierter Tastatur mit Bildern

Hier mein Code:

let pb = UIPasteboard.generalPasteboard() 
let image: UIImage = UIImage(named: "1.png")! 
let imgData: NSData = UIImagePNGRepresentation(image)! 
pb.setData(imgData, forPasteboardType: kUTTypePNG as String) 
pb.image = image 

Und ich brachte auch die RequestsOpenAccess zu true in .plist-Datei und erlaubt den Zugang für die benutzerdefinierte Tastatur in das Gerät als auch. Aber es funktioniert nicht für mich.

Bitte schlagen Sie die möglichen Wege vor, dies zu tun. Danke im Voraus.

+0

Wenn ich das Bild auf der Tastatur ausgewählt habe, zeigt es nicht, dass das Bild kopiert wird oder nicht. Und das Gleiche für die Paste. Die Einfügeoption wird nicht angezeigt, wenn ich eine Eingabeansicht lange drücke. – Ramakrishna

+0

Bitte überprüfen Sie diese Antwort Ich hoffe, dein Problem zu lösen: - http://Stackoverflow.com/a/39554347/3752143 –

Antwort

0

Sie möchten gif Bilder in benutzerdefinierte Tastatur verwenden link. und in oben genannten Code verwenden Sie Png-Bild.

Wenn Sie nicht GIF-Bild kopieren möchten, dann können Sie unter Code für Swift verwenden 3

@IBOutlet weak var imageview: UIImageView! 
var img : UIImage = UIImage(named:"1.png")! 
imageview = UIImageView(image: img) 
//copy image code 
UIPasteboard.general.image = imageview.image! 

oder Wenn Sie GIF-Bild verwenden möchten, dann können Sie unter Code für Swift 3

let url = Bundle.main.url(forResource: "imagename", withExtension: ".gif") 
let data: NSData = NSData(contentsOf: url!)! 
UIPasteboard.general.setData(data as Data, forPasteboardType: "com.compuserve.gif") 
verwenden
+0

Danke für die Antwort @Ishita. Ich habe bereits die Lösung gefunden. – Ramakrishna

Verwandte Themen