para - teclado iphone
¿Cómo obtener el teclado con el botón Siguiente, Anterior y Hecho? (8)
Quiero tener un teclado que tenga un botón Siguiente, Anterior y Hecho en la parte superior.
Lo he visto en muchas aplicaciones.
Especialmente donde hay formularios para llenar.
Quiero lograr algo similar al teclado de arriba
¿Cómo puedo obtener eso?
Como se menciona en otras respuestas, es el inputAccessoryView
que estás buscando.
Me gustaría agregar una forma alternativa aquí, usando este cocoapods:
pod '' UITextField-Navigation ''
Todos los UITextField
s tendrán dos propiedades adicionales: nextTextField
y previousTextField
. Luego puede simplemente conectar el nextTextField
en el Interface Builder y los botones Previous, Next y Done se agregan automáticamente, todo funcional, no se necesita más código, no hay subclases.
También puede personalizar la interfaz de usuario, agregar más botones, etc. como desee.
Este es un control personalizado que se coloca directamente encima del teclado. Creo que una UIToolbar se puede usar para eso.
Los pases anteriores y siguientes alrededor del primer Respondedor del texto Campos y Hecho harán la renuncia y también ocultarán la barra de herramientas.
Para hacer coincidir la animación del teclado, eche un vistazo a este código que encontré o en SO: "¿Cuál es la tasa de animación de teclado predeterminada del iPhone?"
He creado un repository con una implementación de esta característica que funciona en iPhone / iPad en todas las orientaciones y altamente personalizable.
Tengo una clase de utilidad que básicamente hace esto por ti.
https://github.com/kalvish21/CustomKeyboard
La idea es muy simple. Debe agregar una barra de herramientas accesoria con elementos de botón de barra. Hay un delegado que define dónde funcionará ese botón.
https://github.com/asefnoor/IQKeyboardManager
Este es el mejor controlador de teclado que he visto hasta ahora. Manera muy excelente de administrar entradas de texto.
Algunas de sus características 1) ZERO LÍNEA DE CÓDIGO
2) Funciona automáticamente
3) No más UIScrollView
4) No más subclases
5) No más trabajo manual
6) No más #importaciones
Acabo de crear una clase llamada BSKeyboardControls
que hace que sea muy fácil agregar los controles a un teclado. La clase, las instrucciones y el código de ejemplo se pueden encontrar BSKeyboardControls .
Los controles funcionan para campos de texto y vistas de texto y están optimizados para iPhone y iPad.
Encontrarás la respuesta en esta otra publicación . Comprobé la biblioteca de iOS y la entrada inputAccessoryView de un UITextField es exactamente lo que estás buscando.
Espero que esto ayude !
-(BOOL)textFieldShouldBeginEditing: (UITextField *)textField
{
UIToolbar * keyboardToolBar = [[UIToolbar alloc] initWithFrame:CGRectMake(0, 0, 320, 50)];
keyboardToolBar.barStyle = UIBarStyleDefault;
[keyboardToolBar setItems: [NSArray arrayWithObjects:
[[UIBarButtonItem alloc]initWithTitle:@"Previous" style:UIBarButtonItemStyleBordered target:self action:@selector(previousTextField)],
[[UIBarButtonItem alloc] initWithTitle:@"Next" style:UIBarButtonItemStyleBordered target:self action:@selector(nextTextField)],
[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemFlexibleSpace target:nil action:nil],
[[UIBarButtonItem alloc]initWithTitle:@"Done" style:UIBarButtonItemStyleDone target:self action:@selector(resignKeyboard)],
nil]];
textField.inputAccessoryView = keyboardToolBar;
}
- (void)nextTextField {
if (textField1) {
[textField1 resignFirstResponder];
[textField2 becomeFirstResponder];
}
}
-(void)previousTextField
{
if (textField2) {
[textField2 resignFirstResponder];
[textField1 becomeFirstResponder];
}
}
-(void)resignKeyboard {
[textField1 resignFirstResponder];
[textField2 resignFirstResponder];
}