2012-07-25 13 views
7

Tengo un objeto textField en mi aplicación para iPad. Me gustaría darle al usuario un teclado conveniente para ingresar números. En mi código añadí:Qué UIKeyboardType puedo usar en el iPad

UITextField *textField = [[UITextField alloc] initWithFrame:frame]; 
textField.keyboardType = UIKeyboardTypeDecimalPad; 

De acuerdo con la documentación que este es un tipo de teclado válido pero cuando puedo editar el campo de texto del teclado ASCII normales aparece. Sin embargo, cuando lo cambio a:

textField.keyboardType = UIKeyboardTypePhonePad; 

El teclado tiene el siguiente aspecto: phonepad keyboard

Idealmente me gustaría un teclado que sólo tiene los números y el punto decimal, pero es que esto no sea posible en el IPAD? ¿Alguien tiene una lista definitiva de qué teclados funcionan en el iPhone y el iPad? Apple no está claro en este punto. También vi esto question, que es similar pero ninguna de las respuestas realmente aborda mi punto.

Gracias!

Respuesta

10

Estos son los UIKeyboardTypes que se pueden usar en ambos dispositivos iOS. De the docs:

  • UIKeyboardTypeDefault

    • Usar el teclado por defecto para el método de entrada actual.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeASCIICapable

    • Usar un teclado que muestra caracteres ASCII estándar.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeNumbersAndPunctuation

    • utilizar los números y puntuacion teclado.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeURL

    • utilizar un teclado optimizado para la entrada de URL. Este tipo presenta ".", "/" Y ".com" prominentemente.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeNumberPad

    • Uso de un teclado numérico diseñado para la introducción del PIN. Este tipo presenta los números del 0 al 9 prominentemente. Este tipo de teclado no admite admite auto-capitalización.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypePhonePad

    • Uso de un teclado diseñado para introducir números de teléfono. Este tipo presenta los números del 0 al 9 y los caracteres "*" y "#" prominentemente. Este tipo de teclado no admite el uso de mayúsculas automático.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeNamePhonePad

    • Uso de un teclado diseñado para introducir el nombre o número de teléfono de una persona. Este tipo de teclado no admite el uso de mayúsculas automático.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeEmailAddress

    • utilizar un teclado optimizado para especificar direcciones de correo electrónico. Este tipo presenta los caracteres "@", "." Y espacio prominentemente.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeDecimalPad

    • Usar un teclado con números y un punto decimal.
    • Disponible en iOS 4.1 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeTwitter

    • utilizar un teclado optimizado para la entrada de texto gorjeo, con fácil acceso a los caracteres @ y #.
    • Disponible en iOS 5.0 y posterior.
    • declarado en UITextInputTraits.h.

  • UIKeyboardTypeAlphabet

    • desuso.
    • Use UIKeyboardTypeASCIICapable en su lugar.
    • Disponible en iOS 2.0 y posterior.
    • declarado en UITextInputTraits.h.

Éstos son algunos screenshots of the different types of keyboards.

+10

Hmm, ** UIKeyboardTypeDecimalPad ** definitivamente no funciona en iPad mientras que algunos de los otros producen el mismo teclado. es decir, ** UIKeyboardTypePhonePad ** y ** UIKeyboardTypeNumberPad ** son los mismos que yo sepa. Me interesaría ver una lista completa de los teclados que están realmente disponibles en el iPad. –

+0

@SamanthaJohn: la lista disponible se agrega en la parte superior de la respuesta. Intenté esto ** UIKeyboardTypeDecimalPad ** en el simulador ipad y funcionó para mí. –

+0

Oh, tienes razón, ahora está funcionando para mí. Creo que en última instancia tendré que usar mi propio teclado, ya que no parece que Apple ofrezca muchas opciones predeterminadas para iPad. (Solo los números o las letras y siempre puede cambiar entre). –

5

Probé qué tipos de teclado están disponibles para iPad/iPhone con el simulador después de recibir el aviso

"¿No encuentra keyplane que soporta el tipo de teclado 8 Wildcat-paisaje-QWERTY-Pad, usando 2592645918_Wildcat alfabéticos-Keyboard_Capital-Letters"

en el iPAD para el UIKeyboardTypeDecimalPad. Espero que esto sea útil para la próxima persona que tropiece aquí.

iPad:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeTwitter

Entonces, todos ellos excepto UIKeyboardTypeDecimalPad. usar UIKeyboardTypeDecimalPad no le proporciona más que una bofetada en la muñeca en iOS 5.1 o 6.1.

iPhone:

  • UIKeyboardTypeASCIICapable
  • UIKeyboardTypeNumbersAndPunctuation
  • UIKeyboardTypeURL
  • UIKeyboardTypeNumberPad
  • UIKeyboardTypeNamePhonePad
  • UIKeyboardTypeEmailAddress
  • UIKeyboardTypeDecima lPad
  • UIKeyboardTypeTwitter

es decirtodos ellos

Cuestiones relacionadas