2009-10-07 18 views

risposta

16

È possibile visualizzare manualmente il menu Taglia/Copia/Incolla utilizzando UIMenuController class. Ad esempio, il codice seguente verrà visualizzato il menu, centrata sulla vostra immagine:

[self becomeFirstResponder]; 

UIMenuController *copyMenuController = [UIMenuController sharedMenuController]; 

[copyMenuController setTargetRect:image.frame inView:self.view]; 
[copyMenuController setMenuVisible:YES animated:YES]; 

Questo presuppone che sarete applicazione del presente codice in una UIViewController per la vista che ospita la vostra immagine.

Per attivare le varie voci di menu, avrete anche bisogno di implementare alcuni metodi delegato il controller:

- (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; 
} 

In questo caso, solo l'opzione di menu copia sarà abilitata. Dovrai anche implementare il metodo -copy: appropriato per gestire ciò che accade quando l'utente seleziona quella voce di menu.

Problemi correlati