Example of how to customize UIActivityViewController share menu?

OscarTheGrouch picture OscarTheGrouch · Oct 4, 2012 · Viewed 13.1k times · Source

Is there an example of how to customize UIActivityViewController share menu with my own icon and IBAction?

I have seen this...

- (id)initWithActivityItems:(NSArray *)activityItems applicationActivities:(NSArray *)applicationActivities;

but I have not gotten it to work yet.

Answer

Spiros picture Spiros · Oct 9, 2012

You first need to subclass UIActivity.

Then you need to override certain methods, including activityImage for setting the icon and performActivity for performing the action (what you call "IBAction" in your question).

If instead of performing the action silently, you first need further user interaction and info for your custom activity (e.g., like the Twitter post for the standard UIActivity), you should override activityViewController rather than performActivity.

After you have subclassed UIActivity (as, e.g, MyActivity), you should create an instance of MyActivity and make it an element of the applicationActivities array that you pass to initWithActivityItems:applicationActivities:.

Have a look at the documentation for UIActivity for exactly what you need to override when subclassing and for icon requirements.

Hope this helps a little.