Estoy buscando una solución no hackish para esto, por lo que básicamente -inputView. La parte de la que no estoy seguro es cómo hacer que se vea como los teclados normales, desde el fondo hasta las teclas. Me doy cuenta de que podría hacer photoshop con un teclado de Apple, pero parece que es un poco hackish, especialmente si la manzana (probablemente no, pero aún es posible) decide cambiar el aspecto de sus teclados. Sé que Numbers ha hecho un excelente trabajo al fabricar teclados extra que se parecen a los del sistema estándar, y me gustaría hacerlo así (aunque obviamente tienen acceso a los mismos recursos que hicieron los teclados del sistema, incluidos posibles marcos privados, etc.)teclado de iPad personalizado que se parece a los teclados del sistema
Respuesta
Crea un controlador de vista y xib. El xib debe tener 1-9,0 y eliminar los botones asignados a IBOutlet en su controlador. Almacene y conserve la cadena de valor de retorno como una propiedad. Puedes agregar decimales, etc. si lo deseas. En el encabezado, almacene un cierre de bloque de edición con una propiedad (o alternativamente, cree un delegado o use una notificación).
@property (copy) void(^valueChangedBlock)(NSString* string);
En retoque, cada botón envía un evento a un método como este:
- (IBAction) pressKey:(id)sender
{
NSString *toAppend;
// Instead of this switch you can store the values in a dictionary mapped by sender.
switch(sender)
{
case oneButton: [email protected]"1"; break;
case twoButton: [email protected]"2"; break;
...
}
returnValue = [returnValue appendString:toAppend];
valueChanged(returnValue);
}
Obviamente la tecla de borrar debe eliminar un carácter desde el final de la cadena en lugar de añadir. Además de crear el controlador y agregar esta vista como el inputView, debe agregar el valueChangedBlock y configurarlo para actualizar el campo de texto. Es posible que desee colocar un botón personalizado claro sobre el conjunto de campos de texto para que el primer respondedor de campo no parezca que el usuario puede editar en cualquier punto de la cadena.
I utilizó la siguiente:
tenDigitKeyboard.m
-(IBAction)pressedKey:(UIButton *)sender
{
[delegate pressedKey:sender.tag];
}
donde delegado se define como `delegado de id;
continuación, en el delegado que hago ...
-(void)pressedKey:(NSInteger)key
{
NSString * bufferString = model.string;
if (key == -1) {//delete
model.string = [bufferString substringWithRange:NSMakeRange(0, [bufferString length]-1)];
}else{
//will need to change the following to lookup key value based on a lookup of the button.tag
model.string = [bufferString stringByAppendingFormat:@"%i",key];
}
[self update];//updates the view
}
tengo el botón del teclado de la obra: http://www.teehanlax.com/blog/iphone-gui-psd-v4/
- 1. Teclado personalizado del iPad GUI
- 2. Dimensiones del teclado del iPad
- 3. Teclado numérico del iPad
- 4. ¿Los mejores teclados para emacs?
- 5. ¿Detecta la ocultación del teclado del iPad frente a la conexión del teclado externo?
- 6. Teclado dividido de iPad
- 7. aplicación iPhone/iPad usando atajos de teclado?
- 8. Hacer que Emacs ignore el diseño del teclado del sistema
- 9. ¿Hay algún atributo HTML que indique a los teclados del teléfono inteligente que muestren claves de correo electrónico especiales?
- 10. atajos de teclado iPhone/iPad?
- 11. ¿Cómo se reproduce el sonido del clic del teclado en un teclado personalizado?
- 12. Teclado de iPhone personalizado
- 13. Tamaño personalizado del iPad del controlador de vista modal
- 14. Notificación para cambiar la altura del teclado del iPad
- 15. Teclado personalizado: inputView: cómo cambiar el tamaño del teclado?
- 16. UIPopoverView se distorsiona cuando se muestra el teclado + iPad
- 17. Gancho del teclado del sistema en Vista y más tarde
- 18. No se puede escribir con teclados que no son QWERTY en iOS
- 19. Teclados múltiples y ganchos de bajo nivel
- 20. ocultar el teclado del iPad pulsando la tecla Return
- 21. Sólo los números como entrada de teclado para ipad
- 22. Gmail parece capturar todos los eventos del teclado. ¿Alguna forma de sortear eso?
- 23. Activación manual del teclado de iPhone/iPad/iPod desde JavaScript
- 24. Solaris 11 parece faltar archivos de cabecera del sistema
- 25. ¿Puedes mostrar/ocultar el teclado del iPad Safari usando JavaScript?
- 26. tamaño del teclado que devuelve valores incorrectos?
- 27. iOS Crear teclado personalizado Generar pulsaciones de teclas estándar para UITextField
- 28. Restablecer el cursor del sistema personalizado a la normal
- 29. Mejor teclado para diseño de programación basado en Dvorak personalizado
- 30. Botón que se parece al enlace
Hola Pedro, en mi caso el código anterior da error como: No se permite puntero como valores de casos ¿Qué está mal? ¿Que debería hacer? por favor, ayuda –
Escribí ese código como ejemplo, pero se necesitan algunas modificaciones. Intente usar declaraciones if-else para verificar quién es el remitente o, mejor aún, almacene los botones y sus valores resultantes en un diccionario durante la inicialización del controlador para una búsqueda de línea única en el método pressKey. –