With the following setup
....
MyUIMenuItem *someAction = [[MyUIMenuItem alloc]initWithTitle : @"Something" action : @selector(menuItemSelected:)];
MyUIMenuItem *someAction2 = [[MyUIMenuItem alloc]initWithTitle : @"Something2" action : @selector(menuItemSelected:)];
....
- (IBAction) menuItemSelected : (id) sender
{
UIMenuController *mmi = (UIMenuController*) sender;
}
How to figure out which menu item was selected.
And don’t say that you need to have two methods… Thanks in advance.
Okay, I’ve solved this one. The solution isn’t pretty, and the better option is “Apple fixes the problem”, but this at least works.
First of all, prefix your UIMenuItem action selectors with “magic_“. And don’t make corresponding methods. (If you can do that, then you don’t need this solution anyway).
I’m building my UIMenuItems thus:
Now your class that catches the button tap messages needs a few additions. (In my case the class is a subclass of UITextField. Yours might be something else.)
First up, the method that we’ve all been wanting to have but that didn’t exist:
Then the methods that make it possible: