UITextView non ha metodi che saranno chiamati quando l'utente preme il tasto Invio.
Anche se si desidera eseguire questa operazione, implementare textView: shouldChangeTextInRange: replacementText: metodo di UITextViewDelegate e verificare che il testo sostitutivo sia \ n, nascondere la tastiera.
Potrebbero esserci altri modi, ma non ne sono a conoscenza.
Assicurarsi di dichiarare il supporto per il protocollo UITextViewDelegate.
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range
replacementText:(NSString *)text {
if([text isEqualToString:@"\n"]) {
[textView resignFirstResponder];
return NO;
}
return YES;
}
Spero che possa essere di grande aiuto.
fonte
2012-10-25 13:23:07
La parte che mi mancava era l'aggiunta di per l'interfaccia nel file * .h. Una volta che l'ho aggiunto, questo codice ha funzionato senza problemi. Spero che aiuti qualcun altro a uscire! –
proudgeekdad
In questa situazione è richiesto. –
brooNo
È anche possibile connettere il delegato dallo storyboard (xib), se si trascina la connessione da textField alla rappresentazione viewController. In questo modo non devi scrivere la riga dal metodo viewDidLoad. – Luka