2016-10-13 1 views
0

iOSカスタムキーボードで作業しています。これで私はカスタムキーボードにステッカーやGIFを表示する必要がありますが、キーボードでイメージを表示できますが、キーボードからイメージを選択するとtextDocumentProxyに表示したいという問題があります。いくつかの研究をした後、私は画像をtextDocumentProxy.insertTextとして挿入することはできないことを理解しました。そこで私はUIPasteboardを試して、キーボードから画像をコピーし、入力フィールドlike thisに貼り付けました。画像付きのカスタムキーボードでの問題

ここに私のコード:

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 

そして、私はまたの.plistファイルにtrueRequestsOpenAccessを設定し、同様のデバイスでカスタムキーボードへのアクセスを可能にしました。しかし、それは私のために働いていない。

可能な方法を提案してください。前もって感謝します。

+0

キーボードで画像を選択しても、画像がコピーされているかどうかはわかりません。ペーストも同様です。入力時に長押しすると貼り付けオプションが表示されません。 – Ramakrishna

+0

私はあなたの問題を解決することを願ってこの答えを見直してください: - http://stackoverflow.com/a/39554347/3752143 –

答えて

0

カスタムキーボードlink.でgif画像を使用したいと思います。上のコードでは、png画像を使用しています。

あなたは非GIF画像をコピーしたい場合、あなたはスウィフト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! 

か、GIF画像を使用したい場合、あなたは

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") 
スウィフト3のコードの下に使用することができるため、コードの下に使用することができます
+0

@私はすでに解決策を得ている。 – Ramakrishna