如何在UIActivityViewController中向Activity活动栏添加ActivityItem?

Dav*_*ser 14 objective-c ios uiactivityviewcontroller ios7

我喜欢将自己的WhatsApp添加ActivityItemUIActivityViewController,但它总是添加到较低的非彩色活动栏,但我喜欢将它添加到上部栏,带有彩色项目的栏.

那是我使用的代码:

WhatsApp *whatsApp = [[WhatsApp alloc] init];
            UIActivityViewController* activityVC = [[UIActivityViewController alloc] initWithActivityItems:@[image, text] applicationActivities:@[whatsApp]];
Run Code Online (Sandbox Code Playgroud)

喜欢.在此输入图像描述

Pet*_*nev 42

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

+ (UIActivityCategory)activityCategory
{
   return UIActivityCategoryShare;
}
Run Code Online (Sandbox Code Playgroud)

有可能的类别:行动和分享.
重要的是,这是方法,而不是实例.此外,它是iOS 7特定的 - 所有行动活动都放在底线(如果有的话),然后在共享活动之上,然后在AirDrop之上.因此,如果您想摆脱底线,只需排除所有行动活动.如果你想在share/action行中放置一些东西 - 覆盖activityCategory.默认是UIActivityCategoryShare;

  • 你可以通过这篇文章的策略让它们变得丰富多彩:http://stackoverflow.com/a/22670582/2578240 (2认同)