2015-04-03 72 views
5

我正在實現只有圖像的自定義鍵盤,並希望將圖像發送到textDocumentProxy /輸入控件,比如點擊圖像上的textview,但沒有克服它。 到目前爲止,我能夠發送文本/字符串輸入控件,但不是圖像。iOS:自定義鍵盤:我想將圖像發送到textDocumentProxy(輸入控件)

是否可以將圖像發送到輸入控件?

任何建議或解決方案,高度讚賞。

+0

您是否找到解決方法? – Ramakrishna 2016-10-06 13:48:52

+0

還沒有好友...此項目暫時擱置。 – 2016-10-14 04:26:25

回答

8

以下是用於複製圖像的代碼爲pasteboard

NSData *data = [NSData dataWithContentsOfURL:[NSURL URLWithString:@"http://warp.povusers.org/images/test.png"]]; 
UIPasteboard *pasteBoard=[UIPasteboard generalPasteboard]; 
[pasteBoard setData:data forPasteboardType:@"public.png"]; 

現在想到的是,在該佈局創建自定義鍵盤的擴展,你可以把你的UIButton和上面的按鈕動作實現了對PNG圖像。

對於本地圖像下面的代碼是幫助完整的你,它的工作在我的情況。

UIPasteboard *pasteboard = [UIPasteboard generalPasteboard]; 
NSData *imgData = UIImagePNGRepresentation(@"Your UIImage Here"); 
[pasteboard setData:imgData forPasteboardType:[UIPasteboardTypeListImage objectAtIndex:0]]; 

更多Uniform Type Identifiers you visit here和更改粘貼板類型。

這可以幫助很多,並解決您的問題。

編輯

「允許完全訪問」從設置 - >鍵盤 - >鍵盤 - >選擇您的應用程序的鍵盤 - >打開的「允許完全訪問」

+0

那麼你如何將這個圖像粘貼到用戶正在編輯的文本框? – smacdonald 2015-04-24 09:52:16

+0

你只要去任何應用程序和長按選項顯示粘貼 – 2015-04-24 09:53:23

+1

右鍵。所以用戶必須粘貼它。我希望有一種方法可以自動完成。 – smacdonald 2015-04-24 09:59:30

1

請在設備試開關,您可以在設備中使用iMessage App進行測試。像UITextView和UITextField這樣的默認輸入視圖不支持圖像。他們只支持字符串。

以下代碼會將圖像複製到粘貼板中。

let pb = UIPasteboard.generalPasteboard() 
let image: UIImage = UIImage(named: imgArray[indexPath.row])! 
let imgData: NSData = UIImagePNGRepresentation(image)! 
pb.setData(imgData, forPasteboardType: kUTTypePNG as String) 

並在設置中爲鍵盤提供「允許完全訪問」。並在info.plist文件中添加RequestsOpenAccess到YES。