Możesz ręcznie wyświetlić menu Wytnij/Kopiuj/Wklej używając UIMenuController
class. Na przykład, następujący kod spowoduje wyświetlenie menu, skupione na obrazie:
[self becomeFirstResponder];
UIMenuController *copyMenuController = [UIMenuController sharedMenuController];
[copyMenuController setTargetRect:image.frame inView:self.view];
[copyMenuController setMenuVisible:YES animated:YES];
ta zakłada, że będziesz realizacji tego kodu w UIViewController
do widoku, który obsługuje obraz.
Aby włączyć różne pozycje menu, musisz również wdrożyć kilka metod powierzać kontrolera:
- (BOOL)canPerformAction:(SEL)action withSender:(id)sender
{
if (action == @selector(cut:))
return NO;
else if (action == @selector(copy:))
return YES;
else if (action == @selector(paste:))
return NO;
else if (action == @selector(select:) || action == @selector(selectAll:))
return NO;
else
return [super canPerformAction:action withSender:sender];
}
- (BOOL)canBecomeFirstResponder
{
return YES;
}
W tym przypadku, tylko opcja Menu kopiowania zostanie włączona. Będziesz także musiał zaimplementować odpowiednią metodę -kopii:, aby poradzić sobie z tym, co dzieje się, gdy użytkownik wybierze ten element menu.