管理默认“共享”iOS对话框上的按钮

时间:2014-02-02 13:33:43

标签: ios iphone sharing

在我的iPhone应用程序中,我需要实现“告诉有关此应用的朋友”功能,该功能应该共享应用网址。为了做到这一点,我决定使用标准的iOS“共享”对话框。

我遇到的问题是(至少)在iOS 7上,除了“电子邮件”和“短信”按钮外,我还看到了“复制”,“保存图像”和“打印”按钮。这些按钮对此功能毫无意义,我想隐藏它们。

我怎么能这样做?

2 个答案:

答案 0 :(得分:2)

假设您使用的是 UIActivityViewController 类:

UIActivityViewController 有一个名为 excludedActivityTypes 的属性,类型为 NSArray 。在呈现控制器之前设置它。

假设 UIActivityViewController 的实例名为 activityVC -

    // create an NSArray of exclusions for copy, save image and print
    NSArray *excludedTypes = @[UIActivityTypeCopyToPasteboard, UIActivityTypeSaveToCameraRoll, UIActivityTypePrint];
    // assign array of exclusions to excludedActivityTypes property of UIActivityController
    activityVC.excludedActivityTypes = excludedTypes;

Apples UIActivity Class Reference包含内置活动类型的列表,它们被定义为可以使用的字符串常量。

答案 1 :(得分:1)

在呈现viewController之前,告诉它不显示的内容:

av.excludedActivityTypes = @[UIActivityTypeCopyToPasteboard, UIActivityTypeAssignToContact, UIActivityTypePrint, UIActivityTypeSaveToCameraRoll, UIActivityTypeAirDrop];