2009-10-07 7 views

Odpowiedz

16

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.