新しい UIActivityViewController を使用して、共有のためにすべての UIActionSheets を置き換えようとしましたが、問題が発生しました。
メッセージ、メール、コピー、Twitter、Facebook の 5 つのアクティビティがあります。カスタム UIActivityProvider サブクラスでこれを使用して、これらに異なるテキストを表示する方法をすでに理解しています。
- (id) activityViewController:(UIActivityViewController *)activityViewController
itemForActivityType:(NSString *)activityType
{
if ( [activityType isEqualToString:UIActivityTypePostToTwitter] )
return twitter;
if ( [activityType isEqualToString:UIActivityTypePostToFacebook] )
return facebook;
if ( [activityType isEqualToString:UIActivityTypeMessage] )
return urlScheme;
if ( [activityType isEqualToString:UIActivityTypeMail] )
return urlScheme;
if ( [activityType isEqualToString:UIActivityTypeCopyToPasteboard])
return urlScheme;
return nil;
}
そして、これは私のView Controllerで:
ActivityProvider *aProvider = [[ActivityProvider alloc] init];
aProvider.facebook = facebook;
aProvider.twitter = twitter;
aProvider.urlScheme = URL;
NSArray *Items = @[aProvider, sharedURL];
UIActivityViewController *activityVC = [[UIActivityViewController alloc]initWithActivityItems:Items applicationActivities:Nil];
activityVC.excludedActivityTypes = @[UIActivityTypePrint, UIActivityTypeAssignToContact,UIActivityTypeSaveToCameraRoll, UIActivityTypePostToWeibo];
[self presentViewController:activityVC animated:TRUE completion:nil];
ただし、メッセージ、電子メール、またはコピーではなく、Facebook と Twitter の共有シートに URL (sharedURL) のみを表示したいです。これを達成する方法はありますか?