15

我喜欢将自己的 WhatsApp 添加ActivityItem到 中UIActivityViewController,但它总是添加到下方的非彩色活动栏,但我喜欢将其添加到上方的栏,即带有彩色项目的栏。

这就是我使用的代码:

WhatsApp *whatsApp = [[WhatsApp alloc] init];
            UIActivityViewController* activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[image, text] applicationActivities:@[whatsApp]];

喜欢。在此处输入图像描述

4

3 回答 3

43

在您的自定义UIActivity子类中,您必须简单地覆盖一种方法:

+ (UIActivityCategory)activityCategory
{
   return UIActivityCategoryShare;
}

有可能的类别:行动和分享。
重要的是,这是方法,而不是实例。此外,它是特定于 iOS 7 的 - 所有操作活动都放在底线(如果有的话),然后是分享活动上方,然后是 AirDrop 上方。因此,例如,如果您想摆脱底线,只需排除所有行动活动。如果您想在共享/操作行中添加某些内容 - 覆盖activityCategory。默认为 UIActivityCategoryShare;

于 2013-10-19T18:01:40.133 回答
3

在斯威夫特,

override static func activityCategory() -> UIActivityCategory
{
    return .Share
}
于 2016-04-19T05:53:10.027 回答
0

斯威夫特 3 版本:

public override static var activityCategory: UIActivityCategory {
    return .share;
}
于 2018-06-20T15:24:32.440 回答