4

iOS6の新しいActivityViewControllerを実装したいのですが、メッセージ、コピー、weiboでの共有などの未使用のアクティビティを削除したいと思います。

それらのアイコンを削除するためにそれをカスタマイズまたはサブクラス化することは可能ですか?

ご協力いただきありがとうございます!

4

1 に答える 1

10

わかりました、UIActivityViewController をカスタマイズするための解決策を自分で見つけました:

Weibo、Facebook などの共有オプションを削除したい場合は、ExcludedActivityTypes プロパティを設定するだけです。

UIActivityViewController *actionCtrl = [[UIActivityViewController alloc]initWithActivityItems:act applicationActivities:nil];

[actionCtrl setExcludedActivityTypes:@[UIActivityTypeAssignToContact, UIActivityTypeCopyToPasteboard, UIActivityTypeMail, UIActivityTypePostToWeibo]];
[self presentViewController:actionCtrl animated:YES completion:nil];

別のアクティビティ (ボタンや画像など) を追加する場合は、UIActivity をサブクラス化し、activityType や activityImage などのメソッドを上書きする必要があります。

すなわち

- (UIImage *)activityImage {
    return [UIImage imageNamed:@"icon"];
}

これはあなたたちも役立ちます!

于 2012-10-22T09:54:42.760 に答える