Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How can I add a ActivityItem to upper activity bar in UIActivityViewController?

I like to add my own WhatsApp ActivityItem to the UIActivityViewController, but it is always added to the lower non colored activity bar, but I like to add it to the upper bar, the one with the colored items.

Thats the code I use:

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

Like.enter image description here

like image 264
David Gölzhäuser Avatar asked Oct 19 '13 17:10

David Gölzhäuser


1 Answers

In your custom UIActivity subclass you have to simply override one method:

+ (UIActivityCategory)activityCategory
{
   return UIActivityCategoryShare;
}

There are to possible categories: action and share.
It's important, this is class method, not instance. Also, it's iOS 7 specific - all action activities are placed in bottom line (if any), then above the share activities and then above AirDrop. So, if you want to get rid of bottom line for example, simply exclude all action activities. If you want to put something in share/action line - override activityCategory. default is UIActivityCategoryShare;

like image 108
Petro Korienev Avatar answered Sep 22 '22 21:09

Petro Korienev