2016-10-13 7 views
0

Je travaille sur le clavier personnalisé iOS. Dans ce je dois montrer des autocollants et des gifs dans le clavier personnalisé, je suis capable de montrer les images sur le clavier, mais le problème est, lorsque l'utilisateur sélectionne une image du clavier, je veux l'afficher sur le textDocumentProxy. Après avoir fait quelques recherches, j'ai compris qu'il n'est pas possible d'insérer les images comme textDocumentProxy.insertText. J'ai donc essayé UIPasteboard de copier l'image à partir du clavier et de le coller dans le champ de saisie like this.Problème avec un clavier personnalisé avec des images

Voici mon 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 

Et je mets aussi le RequestsOpenAccess à true dans le fichier .plist et autorisé l'accès au clavier personnalisé dans l'appareil aussi bien. Mais ça ne marche pas pour moi.

S'il vous plaît suggérer les moyens possibles pour ce faire. Merci d'avance.

+0

Lorsque j'ai sélectionné l'image sur le clavier, cela ne montre pas que l'image est copiée ou non. Et même pour la pâte. Il n'indique pas l'option de collage lorsque j'appuie longuement sur une vue d'entrée. – Ramakrishna

+0

S'il vous plaît examiner cette réponse, j'espère résoudre votre problème: - http://stackoverflow.com/a/39554347/3752143 –

Répondre

0

Vous souhaitez utiliser des images gif dans le clavier personnalisé link. et dans le code ci-dessus vous utilisez l'image png.

Si vous souhaitez copier l'image non gif vous pouvez utiliser ci-dessous code pour Swift 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! 

ou si vous voulez utiliser l'image gif vous pouvez utiliser ci-dessous code pour 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") 
+0

Merci pour la réponse @Ishita. J'ai déjà la solution. – Ramakrishna