I'm using a UIActivityViewController
, but I want to rearrange the order of the available activities. Right now it chooses what order to display them in, and has a bunch of them on a single scrollable line, and then more below a separator. Is it possible to rearrange the order these are displayed in, or to move some of them below the separator line?

- 5,926
- 9
- 53
- 91
-
Can you post some code? – zeantsoi Sep 27 '13 at 21:53
-
What code would be useful? It's just a UIActivityViewController with some extra application activities. – Marty Sep 27 '13 at 22:10
2 Answers
You can't reorder the activities except for your custom activities. They will appear in the order you supply them. But they always come after the standard activities. You can specify which row the custom activities appear on. Your custom UIActivity
should override the activityCategory
method and return either UIActivityCategoryAction
or UIActivityCategoryShare
.

- 46,496
- 21
- 150
- 195

- 314,917
- 42
- 532
- 579
-
I try it on iOS 8 and the system ignore the order of my array of custom activities. – howa Aug 27 '15 at 20:18
UIActivityViewController doesn't currently provide any mechanism for specifying the order of the available activities, nor does it provide the ability to specify which appear above and below the separator.
There are third party alternatives to UIActivityViewController, such as REActivityViewController
, that provide more customization options, but I don't believe it's been updated for iOS 7 yet.

- 33,450
- 15
- 93
- 100
-
although third party alternatives won't be able to support all the built in sharing types, such as AirDrop, etc. – ccjensen Sep 27 '13 at 22:43
-
2Your statement is not true about being unable to specify which appear above and which appear below. Custom activities can specify this through the `activityCategory`. – rmaddy Sep 27 '13 at 22:48