2012-02-02 10 views
7

Ho un UITextView che riceve input dalla tastiera. La casella di controllo "Auto Enable Return Key" è spuntata, quindi quando lo UITextView è vuoto il tasto Return è disabilitato.Come posso abilitare o disabilitare manualmente il tasto Invio sulla tastiera?

Ho una barra di Emoticon sopra la tastiera che può aggiungere emoticon allo UITextView, ma ecco il problema; Quando il UITextView è vuota e mi aggiungere un emoticon al UITextView in questo modo:

[inputTextView insertText:@"\ue40d"]; 

poi il ReturnKey è ancora disattivato, anche se di proprietà di testo del UITextView non è vuoto.

Ho provato questo dopo aver inserito un emoticon:

[inputTextView setEnablesReturnKeyAutomatically:NO]; 

senza risultati. Sembra che l'abilitazione/disabilitazione del tasto Invio della tastiera venga attivata solo immettendo caratteri attraverso la tastiera.

Qualche idea è come abilitare/disabilitare manualmente il tasto Invio?

+0

funziona come previsto se si digita il testo normale dentro? –

risposta

2

E 'un po' di un hack, ma si potrebbe provare a inserire il testo tramite il tavolo di montaggio, invece:

UIPasteboard* generalPasteboard = [UIPasteboard generalPasteboard]; 

// Save a copy of the system pasteboard's items 
// so we can restore them later. 
NSArray* items = [generalPasteboard.items copy]; 

// Set the contents of the system pasteboard 
// to the text we wish to insert. 
generalPasteboard.string = text; 

// Tell this responder to paste the contents of the 
// system pasteboard at the current cursor location. 
[textfield paste: nil]; 

// Restore the system pasteboard to its original items. 
generalPasteboard.items = items; 

// Free the items array we copied earlier. 
[items release]; 
-1

deselezionare "Auto Abilita tasto invio"

+1

Questo lo abilita continuamente ... – GreenKiwi

Problemi correlati