0

クリップボードを使用して画像をコピーしUIwebView、メールで送信したいのですが、一般的なペーストボードを使用してデータを取得していますが、データの取得に問題があります。ペーストボードの現在のデータを確認すると、AppleWebArchiveがあると表示されます。クリップボードタイプのデータ、これを読み取る方法。これがテキストを取得する私のコードです。

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を作成しようとしましたが、機能しませんでした。

4

1 に答える 1

1

郵送の意味がわかりませんか?ウェブページの画像コピーをメールアプリに直接貼り付けると、画像として表示されます。

手動で行う必要がある場合は、AppleWebArchiveペーストボードタイプからデータを再構築できます。これは基本的に、htmlと実際の画像データがすべて含まれているXMLドキュメントです。HTMLとそれに付随する画像はbase64でエンコードされています。アーカイブの例を見たい場合は、これを保存するか、サファリの簡単なWebページをアーカイブとして保存してください。テキストラングラーのようなものでアーカイブファイルを開きます。テキスト編集はおそらくそれをレンダリングしようとします。

プロセスを理解するのに役立つかもしれないAppleWebArchiveペーストボードタイプを作成する方法についての投稿を書きました。

http://mcmurrym.wordpress.com/2010/08/13/pasting-simplehtml-into-the-mail-app-ios/

メールアプリを使用せずに、アプリ内からメールを送信しようとしていると思いますか?

この場合、おそらくペーストボードからxmlを取得し、エンコードされた画像データを保持するタグを見つけてデコードし、デコードされたデータから画像を作成する必要があります。

于 2010-08-14T03:32:56.257 に答える