2008-11-03 18 views
22

Chcę utworzyć widok składający się wyłącznie z UITextView. Po wyświetleniu widoku domyślnie chcę, aby klawiatura była widoczna i gotowa do wprowadzania tekstu. W ten sposób użytkownik nie musi najpierw dotykać UITextView, aby rozpocząć edycję.Jak wyświetlić domyślnie klawiaturę w UITextView?

Czy to możliwe? Widzę, że klasa ma powiadomienie o nazwie UITextViewTextDidBeginEditingNotification, ale nie jestem pewien, jak to wysłać, lub jeśli jest to nawet właściwe podejście.

Odpowiedz

51

aby tego dokonać wystarczy wysłać wiadomość becomeFirstResponder do UITextField, jak następuje (zakładając, że masz wylot nazwie textField, wskazując na daną dziedzinę):

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    [textField becomeFirstResponder]; 
} 
+0

Właśnie znalazłem to. Dla mnie viewWillAppear nie działa, ale viewDidAppear wydaje się wykonywać zadanie! –

2

w Swift

Aby automatycznie pokazać klawiaturę do następujących:

override func viewDidLoad() { 
    super.viewDidLoad() 

    // show keyboard 
    textView.becomeFirstResponder() 
} 

Uwagi

  • Zakłada się, że widok tekstowy można edytować.
  • działa zarówno UITextView i UITextField
  • Aby ukryć używać klawiatury textView.resignFirstResponder()
3

Po pracował w porządku dla mnie, używając Swift

override func viewDidAppear(animated: Bool) { 
    super.viewDidAppear(animated) 

    // Show keyboard by default 
    billField.becomeFirstResponder() 
} 

Key jest użycie funkcji viewDidAppear.

Powiązane problemy