2015-10-05 5 views
7

Ho un UITextView in cui carico del testo. Prima di IOS 9, ho rimosso l'opzione "copia" mentre selezioni un testo all'interno di tale textview. Ho fatto in modo da sottoclassi e facendo quanto segue:
Come rimuovere l'opzione "Copia" da "share" all'interno di UIMenuController su IOS9?

@implementation myCustomClass 


-(BOOL)canPerformAction:(SEL)action withSender:(id)sender { 
    if (action == @selector(copy:)) { 
      return NO; 
    } 

    return [super canPerformAction:action withSender:sender]; 
} 

Questo è stato sufficiente per rimuovere l'opzione "Copia". Ma ora in IOS 9, quando si seleziona un testo, viene visualizzato il pulsante Condividi e, se si fa clic su di esso, viene visualizzato un nuovo menu che include l'opzione da copiare. Come posso disabilitare l'opzione di copia o anche disabilitare il pulsante "Condividi"?

risposta

4

Prova questo fuori:

#import "MyTextView.h" 

@implementation MyTextView 


- (BOOL)canPerformAction:(SEL)iAction withSender:(id)iSender { 
    SEL shareSelector = NSSelectorFromString(@"_share:"); 

    if (iAction == shareSelector) { 
     return NO; 
    } 

    if (iAction == @selector(copy:)) { 
     return NO; 
    } 

    return [super canPerformAction:iAction withSender:iSender]; 
} 
+0

questo codice rimuove tutte sottomenu, ho bisogno di disattivare solo il pulsante 'share', mantenendo l'intero uimenu –

+0

Capisco ... Si prega di utilizzare il mio codice aggiornato e dovrebbe funzionare per te. L'ho appena eseguito con la mia applicazione di esempio. Ciò nasconderebbe l'opzione Condividi nel controller di menu. @EliasRahme – Abhinav

+0

Molte grazie !! questa è la risposta giusta! e lei è in gamba: D –