Con el SDK de iOS:
Tengo una UIViewcon UITextFields que muestra un teclado. Lo necesito para poder:
Permita el desplazamiento del contenido del
UIScrollViewpara ver los otros campos de texto una vez que aparezca el tecladoAutomáticamente "salta" (desplazándose hacia arriba) o acorta
Sé que necesito a UIScrollView. Intenté cambiar la clase de mi UIViewa a UIScrollViewpero todavía no puedo desplazar los cuadros de texto hacia arriba o hacia abajo.
¿Necesito tanto a UIViewcomo a UIScrollView? ¿Uno va dentro del otro?
¿Qué debe implementarse para desplazarse automáticamente al campo de texto activo?
Idealmente, la mayor parte posible de la configuración de los componentes se realizará en Interface Builder. Me gustaría escribir solo código para lo que lo necesita.
Nota: el UIView(o UIScrollView) con el que estoy trabajando aparece en una barra de pestañas ( UITabBar), que debe funcionar normalmente.
Editar: estoy agregando la barra de desplazamiento solo cuando aparece el teclado. Aunque no es necesario, creo que proporciona una mejor interfaz porque, por ejemplo, el usuario puede desplazarse y cambiar cuadros de texto.
Lo tengo funcionando donde cambio el tamaño del cuadro UIScrollViewcuando el teclado sube y baja. Simplemente estoy usando:
-(void)textFieldDidBeginEditing:(UITextField *)textField {
//Keyboard becomes visible
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height - 215 + 50); //resize
}
-(void)textFieldDidEndEditing:(UITextField *)textField {
//keyboard will hide
scrollView.frame = CGRectMake(scrollView.frame.origin.x,
scrollView.frame.origin.y,
scrollView.frame.size.width,
scrollView.frame.size.height + 215 - 50); //resize
}
Sin embargo, esto no "sube" o centra automáticamente los campos de texto inferiores en el área visible, que es lo que realmente me gustaría.

