¿Cómo mostrar un UIMenuItem personalizado para un UITableViewCell?

Quiero el UIMenuController que aparece cuando presiono prolongadamente un UITableViewCell para mostrar UIMenuItems personalizados.

Configuré el elemento personalizado en viewDidLoad

UIMenuItem *testMenuItem = [[UIMenuItem alloc] initWithTitle:@"Test" action:@selector(test:)];
[[UIMenuController sharedMenuController] setMenuItems: @[testMenuItem]];

Y luego configuro todos los métodos de delegado correctos.

- (BOOL)tableView:(UITableView *)tableView shouldShowMenuForRowAtIndexPath:(NSIndexPath *)indexPath {
    return YES;
}

-(BOOL)tableView:(UITableView *)tableView canPerformAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
    return (action == @selector(copy:) || action == @selector(test:));
}

- (BOOL)tableView:(UITableView *)tableView performAction:(SEL)action forRowAtIndexPath:(NSIndexPath *)indexPath withSender:(id)sender {
    if (action == @selector(copy:)) {
         // do stuff
    }

    return YES;
}

Pero todo lo que hace es mostrar el elemento "Copiar", ya que solo lo permito y mi elemento personalizado. El artículo personalizado, sin embargo, no se mostrará.

Me doy cuenta de que podría agregar un reconocedor de gestos a la celda en sí, pero ese tipo de derrotas son el propósito de la instancia compartida de UIMenuController, ¿no es así?

Respuestas a la pregunta(3)

Su respuesta a la pregunta