1

iPadの[メール]ダイアログを閉じないUIActivityViewControllerがあります。このコードはAppleの例の標準であり、iPhoneでも正常に機能します。

   NSString* someText = [NSString stringWithFormat:@"%@ Is really cool, sent from Element Story. en.wikipedia.info/wiki/%@",
                          [_detailItem description], [_detailItem description]];

   ActivityViewCustomProvider *customProvider =
    [[ActivityViewCustomProvider alloc]init];

    NSArray *items = [NSArray arrayWithObjects:customProvider,imageView.image,someText, nil];

    //ActivityViewCustomActivity *ca = [[ActivityViewCustomActivity alloc]init];


    // ...or whatever pieces of data you want to share.
    UIActivityViewController *activityVC =
    [[UIActivityViewController alloc] initWithActivityItems:items applicationActivities:nil];
                                      //applicationActivities:[NSArray arrayWithObject:ca]];

activityVC.excludedActivityTypes = @[UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeCopyToPasteboard];
    [self presentViewController:activityVC animated:YES completion:^{}];
4

1 に答える 1

3

私はあなたがこれをsplitviewcontrollerから表示していると仮定しています、そしてそれは私が遭遇した問題でもあります。基本的に、メインビューからUIActivityViewControllerを提示する必要があります。

そうではなく

[self presentViewController:activityVC animated:YES completion:nil];

何かのようなもの:

[[[self parentViewController] parentViewController] presentViewController:activityVC animated:YES completion:nil];

残念ながら、ナビゲーション側や詳細側のコンテキストだけでなく、ビュー全体にオプションが表示されるため、見栄えはよくありませんが、機能します。

于 2013-01-16T17:29:30.560 に答える