Wyświetlane wyskakujące okienko nazywa się UIMenuController
. Możesz uzyskać dostęp do metody [UIMenuController sharedMenuController]
, aby uzyskać kontroler menu. Następnie można dodać do kontrolera menu swoją własną UIMenuItems
.
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];
Teraz realizowania sposobów
- (void) onButton1: (UIMenuController*) sender
{
}
- (void) onButton2: (UIMenuController*) sender
{
}
Więcej szczegółów patrz apple's Doc.
Edycja
można zaimplementować Długi Gest
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];
}
Ale w jaki sposób można zidentyfikować długie naciśnięcie event? Bcoz webview ma wbudowaną funkcjonalność do tworzenia przycisku otwierania i kopiowania poprzez naciśnięcie (Long press) na łączu. – Developer
sprawdź zaktualizowaną odpowiedź – Maulik
w metodzie onShowMenu możesz utworzyć własne przyciski. – Maulik