2011-01-15 8 views

Odpowiedz

33

Nie ma metody -textViewShouldReturn: w protokole UITextViewDelegate. Jeśli chcesz, aby klawisz return (done) odrzucił klawiaturę, najlepiej jest użyć UITextField zamiast, UITextView jest przeznaczony do edycji wielu linii tekstu (więc potrzebujesz sposobu na wprowadzenie linebreak).

Jeśli naprawdę chcesz, aby zamknąć klawiaturę podczas naciśnięcia klawisza ENTER w UITextView, prawdopodobnie można zrobić coś takiego:

- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text { 
    if ([text isEqual:@"\n"]) { 
    [textView resignFirstResponder]; 
    return NO; 
    } 
    return YES; 
} 
+0

Dzięki! Powodem, dla którego potrzebowałem aplikacji TextView, jest to, że aplikacja, nad którą pracuję, to Twitter API. A jeśli użytkownik chciałby przeczytać tweeta przed opublikowaniem go, byłoby to trochę bardziej nieprzyjemne dla użytkownika. – Tapy

-3

Jest to tak proste, jak:

textField.returnKeyType=UIReturnKeyDone; 

Dodaj to do delegata pole tekstowe, aby usunąć klawiaturę, gdy jest wciśnięty:

- (BOOL)textFieldShouldReturn:(UITextField *)aTextfield { 
    [aTextfield resignFirstResponder]; 
    return YES; 
} 
+0

Tak, ale to nie zamknąć klawiaturę. – Tapy

+0

Przepraszam za to. Dodano to do mojej odpowiedzi. – grahamparks

+10

Myślę, że pytanie dotyczyło UITextView nie UITextField –

-5

Oprócz ustawiania:

textField.returnKeyType = UIReturnKeyDone; 

musisz ustawić delegata pola tekstowego na swoją klasę i zrobić coś takiego:

- (BOOL)textFieldShouldReturn:(UITextField *)textField { 
    [textField resignFirstResponder]; 

    return YES; 
} 

To ustawienie returnKeyType może być również wykonane z Kreatora interfejsu - jeśli masz zdefiniowany interfejs użytkownika w XIB. Z drugiej strony -resignFirstResponder upewni się, że klawiatura zniknie. Należy to zrobić w metodzie -textFieldShouldReturn: delegate, ponieważ jest ona wywoływana, gdy użytkownik kliknie przycisk Gotowe.

Mam nadzieję, że to pomoże.

+1

Prosi o UITextView nie UITextField. – Domness

+1

Również nie odpowiada na pytanie .. pytanie dotyczy UITextView. –

Powiązane problemy