2010-04-14 17 views
10

¿Alguien sabe cómo mostrar los números del teclado en el iPhone en lugar del predeterminado? ¿Y hay una forma de filtrar el campo de texto solo para números? Tengo que hacerlo desde el código no del constructor de interfacesTeclado de números en Xcode

Gracias

+1

Desde 2013 ... simplemente configurarlo como desee en InterfaceBuilder – Fattie

Respuesta

29

alternativamente, establecer la propiedad KEYBOARDTYPE del campo de texto en el código:

textField.keyboardType = UIKeyboardTypeNumberPad 

Las opciones disponibles son:

UIKeyboardType El tipo de teclado que se muestra en para una vista de texto determinada.

enum typedef {
UIKeyboardTypeDefault,
UIKeyboardTypeASCIICapable,
UIKeyboardTypeNumbersAndPunctuation,
UIKeyboardTypeURL,
UIKeyboardTypeNumberPad,
UIKeyboardTypePhonePad,
UIKeyboardTypeNamePhonePad,
UIKeyboardTypeEmailAddress,
UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable} UIKeyboardType;

Una palabra de advertencia, The NumberPad no tiene un punto decimal para la entrada. Si lo necesitas, tendrás que usar algo más.

+0

¿cuál recomienda para la entrada de punto decimal? – thary

+3

UIKeyboardTypeNumbersAndPunctuation me parece bien. –

+0

gracias amigo que fue rápido! – thary

2

Establecer la propiedad keyboardType del campo de entrada para ser numérico, ya sea en el Interface Builder o mediante código.

Algo como esto debería funcionar:

textField.keyboardType = UIKeyboardTypeNumberPad; 

Para todos los posibles tipos de teclado ver the Apple docs

+0

¿Hay una manera de hacerlo desde el código? – thary

+0

@Jeff Kelley el código fue agregado después de que se hizo el comentario de Thary. –

1

Para añadir a la respuesta de Kristopher Johnson, UITextField compatible con el protocolo UITextInputTraits, que tiene una UIKeyboardType@property llamada keyboardType. Usted simplemente establece que sea lo que quiera (en su caso, UIKeyboardTypeNumberPad). Un lugar para poner esto en su código es en el método viewDidLoad de su controlador de vista.

textField.keyboardType = UIKeyboardTypeNumberPad; 
9

Hay un teclado con un decimal incluido ahora, puede usar el siguiente código.

textField.keyboardType = UIKeyboardTypeDecimalPad;

0

Para Swift2

KEYBOARDTYPE está esperando un UIKeyboardType

enumeración UIKeyboardType: Int {
Caso por defecto
caso ASCIICapable
caso Num bersAndPunctuation
caso URL
caso numérico
caso PhonePad
caso NamePhonePad
caso EmailAddress
caso DecimalPad
caso Twitter
caso WebSearch
alfabeto var estática: UIKeyboardType {get}
}

Así que debería ser algo de esta manera:

textField.keyboardType = UIKeyboardType.NumbersAndPunctuation 

Apple Documentation - UIKeyboardType

Cuestiones relacionadas