La ventana emergente a la que se refiere se llama UIMenuController
. Puede acceder al método [UIMenuController sharedMenuController]
para obtener el controlador de menú. A continuación, puede agregar su propio UIMenuItems
al controlador de menú.
UIMenuItem* myBtn1 = [[[UIMenuItem alloc] initWithTitle: @"Button 1" action:@selector(onButton1:)] autorelease];
UIMenuItem* myBtn2 = [[[UIMenuItem alloc] initWithTitle: @"Button 2" action:@selector(onButton2:)] autorelease];
UIMenuController* mc = [UIMenuController sharedMenuController];
mc.menuItems = [NSArray arrayWithObjects: myBtn1, myBtn2, nil];
Ahora implementar los métodos
- (void) onButton1: (UIMenuController*) sender
{
}
- (void) onButton2: (UIMenuController*) sender
{
}
Para más detalles consulte apple's Doc.
Editar
se puede implementar a largo Gesto
UILongPressGestureRecognizer* gr = [[[UILongPressGestureRecognizer alloc] initWithTarget: self action: @selector(onShowMenu:) ] autorelease];
[_myview addGestureRecognizer: gr];
- (void) onShowMenu: (UIGestureRecognizer*) sender
{
[sender.view becomeFirstResponder];
UIMenuController* mc = [UIMenuController sharedMenuController];
CGRect bounds = sender.view.bounds;
[mc setTargetRect: sender.view.frame inView: sender.view.superview];
[mc setMenuVisible: YES animated: YES];
}
Pero, ¿cómo puedo identificar largo Press evento? Bcoz webview tiene una función incorporada para crear abrir y copiar presionando (Pulsación larga) en el enlace. – Developer
compruebe la respuesta actualizada – Maulik
en el método OnShowMenu puede crear sus botones personalizados. – Maulik