switch stepper guidelines iphone cocoa-touch keyboard uidatepicker

iphone - guidelines - stepper ios



¿Cómo puedo mostrar un UIDatePicker en lugar de un teclado cuando un usuario selecciona un UITextField? (4)

Tengo una interfaz de usuario limpia y bonita dentro de una vista de tabla que tiene algunos campos de texto para que el usuario complete. Uno de los campos es para el cumpleaños del usuario.

Me gustaría tenerlo para que cuando el usuario seleccione el campo de cumpleaños, aparezca una vista que contenga un UIDatePicker, al igual que los diferentes teclados al seleccionar un campo de texto.

Se puede hacer esto? Tendría que evitar que el campo de texto sea el primero en responder (para evitar que aparezca el teclado) y tendría que animar la vista deslizándose hacia arriba si no se mostraba ningún teclado antes.

¿Sería la presentación de la vista modalmente una opción? Si es así, ¿cómo podría hacerlo? Según la documentación, parece que las vistas modales todavía ocupan toda la pantalla, solo quiero usar los 216 píxeles más bajos (altura del teclado y UIDatePicker).

¿Alguien tiene algún consejo sobre cómo hacer esto?


¿Por qué estás usando un campo de texto si no quieres aceptar la entrada del usuario desde un teclado? En su lugar, use una subclase UILabel (donde anula los toquesBegan / Ended: withEvent: conjunto de métodos para mostrar UIDatePicker) o un UIButton (donde su acción es un método que desliza UIDatePicker).


Implementaré esto simplemente animando una vista que contenga el UIDatePicker, un botón Listo y Cancelar) desde la parte inferior de la pantalla. Usando CoreAnimation, esto debería ser bastante fácil.


Una vieja pregunta, pero la forma correcta de hacerlo en estos días sería establecer inputView de UITextField a un selector que haya creado en algún lugar. Algo como esto:

UIPickerView *myPicker = [[UIPickerView alloc] init]; // set picker frame, options, etc... // N.B. origin for the picker''s frame should be 0,0 [myTextField setInputView:myPicker];

Cuando va a editar un UITextField, iOS realmente solo muestra la vista que está en textField.inputView que por defecto es el teclado, puede hacer que sea lo que quiera, siempre que sea una subclase de UIView .