2012-08-03 3 views
6

Sto lavorando nell'app per iPhone utilizzando UITextView. Voglio consentire all'utente solo di copiare il messaggio e di incollare il messaggio. Ma i non vogliono mostrare Seleziona tutto, Seleziona, Definisci e altri. Sto seguendo questo codice qui sotto per controllare le opzioni. Ma tutte le opzioni sono visualizzate nel clic di UITextView.Come controllo Copia, Incolla, Seleziona tutto, Definisci nell'app UITextView per iPhone?

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

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

Qualcuno può aiutarmi a farlo. E anche io non voglio mostrare |.Text.| durante la copia del messaggio. Per favore aiutami a fare questo. Grazie in anticipo.

risposta

2

Prima di tutto se il codice che hai sopra non funziona allora probabilmente hai dimenticato di cambiare la classe di te UITextView alla tua classe personalizzata che implementa il metodo sopra.

Una volta fatto che quello che hai dovrebbe funzionare e si dovrebbe poi tornare senza per selezionare tutti anche

if (action == @selector(selectAll:)) 
     { 
      return NO; 
     } 

anche voi potrebbero voler tornare non per il taglio: anche ammesso che non lo fai vuoi che l'utente rimuova il testo da textView.

anche questi non hanno bisogno di essere se else in quanto non dipendono l'uno dall'altro

Essi sono in realtà chiamati in questo ordine

taglio: copia: selezionare: selectAll: incolla: elimina:

Quindi rimuovere la funzionalità appropriata.

+0

Grazie per la risposta. Puoi dirmi di disabilitare il colore blu con due linee mentre copi il testo in UITextView? Grazie. – Gopinath

2

Creare una sottoclasse di UITextField e sovrascrivere il metodo canPerformAction: withSender: in quella classe.

- (BOOL)canPerformAction:(SEL)action withSender:(id)sender 
{ 
    if (action == @selector(paste:) ||action == @selector(copy:)) 
    { 
     return [super canPerformAction:action withSender:sender]; 
    } 


    return NO; 
} 
+0

Entrambe le risposte sono corrette e confuse da accettare. Ma lui ha risposto per primo perché ho accettato la sua risposta. Non mi sbagli. Grazie per la tua risposta. Puoi dirmi di disabilitare il colore blu con due linee mentre copi il testo in UITextView? Grazie. – Gopinath

Problemi correlati