1

プロジェクトにシェアキットを追加しました。そのアクションは、ナビゲーションバーの「共有」ボタンを使用することによってのみ可能ですか? テーブル ビューがあり、セルを押して共有アクションを使用したいと考えています。それは可能ですか(最終的に別のセルで別のサービスを分離します)?

前もって感謝します

4

1 に答える 1

1

それは間違いなく可能です。のCheckoutUITableViewのデリゲート メソッドdidSelectRowAtIndex:。次に、実装で適切な共有キット サービスを呼び出すだけです。

// Check if the SLComposeViewController is available.
if (NSClassFromString(@"SLComposeViewController")) {

    SLComposeViewController *FBPostSheet = [SLComposeViewController composeViewControllerForServiceType:SLServiceTypeFacebook];

    [FBPostSheet setInitialText:@"I'm posting to Facebook!"];
    [FBPostSheet addURL:[NSURL URLWithString:@"http://www.Apple.com"]];

    [FBPostSheet setCompletionHandler:^(SLComposeViewControllerResult result) {
        switch (result) {
            case SLComposeViewControllerResultCancelled:
                NSLog(@"Cancelled");
                break;
            case SLComposeViewControllerResultDone:
                NSLog(@"Cancelled");
                break;
        }
    }];

    // Apparently its possible for composeViewControllerForServiceType: to return nil... better check.
    if (FBPostSheet) {
        [self presentViewController:FBPostSheet animated:YES completion:nil];
    } else {
        NSLog(@"Error Creating Post Sheet");
    }
}
于 2013-03-19T20:07:17.490 に答える