2011-07-17 37 views
0

我有一個圖像,我附加到圖像的NSData內部的消息,然後使用ALAssetLibrary將其保存到照片庫。然後我通過電子郵件將它發送給某人。iPhone,如何從UIPasteboard中讀取圖像作爲NSData?

我想讓用戶選擇按住修改後的圖像,然後按複製並粘貼到我的應用程序中。要做到這一點,我的應用程序將不得不閱讀逐字節複製的圖像以獲取整個文件(首選方法),或者將整個文件作爲NSData讀取。

我怎麼能夠讀取一般粘貼板的內容作爲NSData或字節緩衝區上的字節?

回答

1

難道你看一下UIPasteboard的文檔?跳到我的第一件事是:

- (NSData *)dataForPasteboardType:(NSString *)pasteboardType 
+0

我試過了,它似乎工作。我能夠準確地獲取圖像的數據,這是保持修改的好原因。剩下的唯一問題是我無法告訴pasteboard類型,無論是public.jpg還是public.png。我不確定如何查看粘貼板,看看我能夠找出它是什麼樣的圖像,所以我知道該怎麼稱呼。有任何想法嗎? – SolidSnake4444

1

您可以使用下面的代碼從UIPasteboard讀取圖像數據。

UIPasteboard * pasteBoard = [UIPasteboard pasteboardWithName:@"CopyFrom" create:YES]; 
NSData *data = [pasteBoard dataForPasteboardType:@"com.appshop.copyfrom.imagedata"]; 
imageView.image = [UIImage imageWithData:data]; 

更多檢查博客文章。

How to Use UIPasteBoard to Implement Custom Copy and Paste In Your App

+0

這隻會工作,雖然如果我在我的應用程序中使用原始副本。我希望能夠從蘋果Mail應用程序複製並將其加載到我的。我相信使用普通紙板。 – SolidSnake4444