Получить скопированные данные с UIPasteboard
Я скопировал изображение из UIwebView
используя буфер обмена, и я хочу отправить его по почте. Для этого я использую общий монтажный картон для получения данных, но при извлечении данных возникает проблема. Когда я проверяю текущие данные монтажного картона, он говорит, что у него есть данные типа картона Apple Web Archive, как читать это. Вот мой код восстановления текста.
UIPasteboard* pasteboard = [UIPasteboard generalPasteboard];
NSArray* array = [pasteboard pasteboardTypes];
for (NSString* type in array) {
NSLog(@"%@",type);
}
NSString* item = @"Apple Web Archive pasteboard type";
NSData* val = [pasteboard dataForPasteboardType:item];
Я пытался создать UIImage, используя эти данные, но это не сработало.
1 ответ
Я не понимаю, что вы подразумеваете под почтой это? Вы можете вставить копию изображения веб-страницы прямо в почтовое приложение, и оно появится в виде изображения.
Вы можете перестроить данные из типа картона Apple Web Archive, если вам нужно вручную. По сути, это документ XML с HTML и фактическими данными изображения внутри. HTML и сопровождающие изображения в кодировке base64. Если вы хотите посмотреть пример архива, сохраните его или, возможно, простую веб-страницу в Safari в виде архива. Откройте файл архива в формате Text Wrangler. Редактирование текста, вероятно, попытается сделать это.
Я написал пост о том, как сделать тип картона Apple Web Archive, который может помочь вам понять процесс.
http://mcmurrym.wordpress.com/2010/08/13/pasting-simplehtml-into-the-mail-app-ios/
Я так понимаю, вы пытаетесь отправить его по почте из своего приложения, а не с помощью почтового приложения?
В этом случае вам, вероятно, придется получить xml из монтажной панели, найти тег, содержащий данные закодированного изображения, декодировать его и создать изображение из декодированных данных.