2011-01-15 7 views

Respuesta

33

No existe el método -textViewShouldReturn: en el protocolo UITextViewDelegate. Si desea que la tecla de retorno (listo) desconecte el teclado, probablemente sea mejor utilizar un UITextField en su lugar, UITextView está destinado a editar varias líneas de texto (por lo que necesita una forma de ingresar un salto de línea).

Si realmente desea ocultar el teclado al golpear la tecla de retorno en un UITextView, que probablemente podría hacer algo como esto:

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

Gracias! La razón por la que necesitaba un TextView es porque la aplicación en la que estoy trabajando es una API de Twitter. Y si el usuario desea leer a través del tweet antes de publicarlo, sería un poco más complicado para el usuario. – Tapy

-3

Es tan simple como:

textField.returnKeyType=UIReturnKeyDone; 

añadir esto a delegado de su campo de texto para quitar el teclado cuando se pulsa:

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

Sí, pero eso no quiere cerrar el teclado. – Tapy

+0

Perdón por eso. Lo agregué a mi respuesta – grahamparks

+10

Creo que la pregunta se refería a UITextView no UITextField –

-5

Además de establecer:

textField.returnKeyType = UIReturnKeyDone; 

necesita configurar el delegado del campo de texto en su clase, y hacer algo como esto:

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

    return YES; 
} 

Esta configuración del returnKeyType se puede hacer también desde Interface Builder, si tiene su UI definida en un XIB. Por otro lado, -resignFirstResponder se asegurará de que el teclado desaparezca. Debe hacerse en el método -textFieldShouldReturn: delegate, ya que se invoca cuando el usuario toca el botón Hecho.

Espero que esto ayude.

+1

Pregunta por UITextView no UITextField. – Domness

+1

También no respondiendo la pregunta .. la pregunta es sobre UITextView. –

Cuestiones relacionadas