0

iOS6のUIActivityViewControllerを使用しています。iPhoneでローカルに利用できないが、リモートURLで利用できる画像を共有したいと思います。

NSString *textToShare = _eventoTitle;
UIImage *imageToShare = [UIImage imageNamed:_iconUrl];
NSURL *url = [NSURL URLWithString:_permalink];
NSArray *activityItems = [[NSArray alloc]  initWithObjects:textToShare, imageToShare, url, nil];

残念ながら、これは機能していません。私は何が間違っているのですか?

また、AFNetworkingライブラリを使用しようとしました。

UIImage *imageToShare = [UIImage alloc];
[*imageToShare setImageWithURL:[NSURL URLWithString:_iconUrl]];

これも機能していません。

_iconUrlはhttp://www.mysite.com/picture.pngのようなものです

ありがとう、フランチェスコ

4

2 に答える 2

4

試してみてください:

UIImage *imageToShare = [UIImage imageWithData:[NSData dataWithContentsOfURL:[NSURL URLWithString:[NSString stringWithFormat:@"%@", _iconUrl]]]];

マッテオ

于 2013-01-08T15:41:26.250 に答える
4

リモート画像を使用するために、UIActivityViewControllerからの要求に応じて画像をダウンロードするUIActivityItemProviderサブクラスを実装しました。UIActivityViewControllerは、バックグラウンドスレッドでUIActivityItemProviderを呼び出すため、少なくともメインUIがブロックされることはありません。MatteoがUIActivityItemProvider内で提案するのと同じように、同期呼び出しを使用します。ただし、高価なダウンロードを実行する必要があるときに遅延するだけなので、実際にはまだ優れたソリューションではありません。UIActivityViewControllerは、ユーザーがViewControllerのアクティビティアイコンの1つを選択するまでデータを要求しません。その際、UIActivityItemProviderを呼び出してデータを取得します。そのため、この時点で遅延が発生します。

于 2013-02-16T17:01:24.033 に答える