3

ユーザーが UIActivityTypeMessage を選択するとメッセージのみが表示されるように、UIActivityViewController の UIActivityItemProvider をサブクラス化していますが、ユーザーが UIActivityTypeFacebook を選択すると画像付きのメッセージが表示されます。

これは私のコードであり、UIActivityTypeMessage でメッセージのみを返すことができますが、UIActivityTypeFacebook の場合、画像でメッセージを返す方法がわかりません。

- (id)item
{
    if ([self.placeholderItem isKindOfClass:[NSString class]]) {
        if ([self.activityType isEqualToString:UIActivityTypeMessage]) {
            return [NSString stringWithFormat:@"%@\n%@",self.text,self.url];
        } else {
            NSDictionary *d = [[NSDictionary alloc] initWithObjects:@[self.text,self.image] forKeys:@[@"text",@"image"]];
            return d;
        }
    }
    return self.placeholderItem;
}

メッセージ、URL、および画像を設定するために使用できる UIActivityItemProvider の特定のキーと値はありますか?

更新として、特定のアクティビティ タイプの定数があることをUIActivity クラス リファレンスで読みました。しかし、それらを使用する方法がわからない。誰か教えてください。

*UIActivityTypePostToFacebook オブジェクトは、提供されたコンテンツを Facebook のユーザーのウォールに投稿します。

このサービスを使用すると、NSString、NSAttributedString、UIImage、ALAsset、および NSURLオブジェクトをアクティビティ項目のデータとして提供できます。コンテンツが assets-library スキームを使用する NSURL オブジェクトを指定することもできます。

4

1 に答える 1

3

データ型ごとに 1 つずつ、3 つの個別のアクティビティ プロバイダーを作成し、それらすべてをinitWithActivityItems:applicationActivities:関数 onに渡す必要がありますUIActivityViewController。アクティビティは、提供されたすべてのプロバイダーを利用し、UIActivityViewControllerそれらのすべてをサポートしていないプロバイダーを非表示にします (たとえば、場合によっては画像のみを含めることが難しくなる可能性があります)。

于 2014-12-09T04:04:37.593 に答える