You can use UIMenuCnotroller as: 1) creating:
UIMenuController *menuController = [UIMenuController sharedMenuController]; UIMenuItem *open = [[UIMenuItem alloc] initWithTitle:@"Open" action:@selector(open:)]; UIMenuItem *reDownload = [[UIMenuItem alloc] initWithTitle:@"Re-Download" action:@selector(reDownload:)]; [menuController setMenuItems:[NSArray arrayWithObjects:open, reDownload, nil]]; [menuController setTargetRect:cell.frame inView:self.view]; [menuController setMenuVisible:YES animated:YES]; [open release]; [reDownload release];
2) In order to catch actions, the following methods should be implemented:
- (BOOL) canPerformAction:(SEL)selector withSender:(id) sender { if (selector == @selector(open:)) { return YES; } if (selector == @selector(reDownload:)) { return YES; } return NO; } - (BOOL) canBecomeFirstResponder { return YES; }
3) And the implementation of your methods:
- (void) open:(id) sender { [self doSomething]; } - (void) reDownload:(id) sender { [self doSomething]; }
Hope this helps.
source share