2008-11-03 14 views
22

Quiero crear una vista que consista únicamente de UITextView. Cuando la vista se muestra por primera vez, de manera predeterminada, me gustaría que el teclado esté visible y listo para la entrada de texto. De esta forma, el usuario no tiene que tocar el UITextView primero para comenzar a editar.¿Cómo se muestra el teclado de forma predeterminada en UITextView?

¿Esto es posible? Veo que la clase tiene una notificación llamada UITextViewTextDidBeginEditingNotification pero no estoy seguro de cómo enviar eso, o si ese es el enfoque correcto.

Respuesta

51

para lograr que acaba de enviar el mensaje becomeFirstResponder a su UITextField, de la siguiente manera (suponiendo que tiene una salida llamada textField, señalando el campo en cuestión):

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

Acabo de encontrar esto. Para mí, viewWillAppear no funciona, pero viewDidAppear parece hacer el trabajo. –

2

En Swift

Para automáticamente mostrar el teclado, a lo siguiente:

override func viewDidLoad() { 
    super.viewDidLoad() 

    // show keyboard 
    textView.becomeFirstResponder() 
} 

Notas

  • Esto supone que la vista de texto es editable.
  • funciona tanto para UITextView y UITextField
  • Para ocultar usar el teclado textView.resignFirstResponder()
3

Siguiendo funcionaba bien para mí usando Swift

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

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

clave es usar la función viewDidAppear.

Cuestiones relacionadas