Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Which UIKeyboardType can I use on the iPad

I have a a textField object in my iPad app. I would like to give the user a convenient keyboard for entering numbers. In my code I added:

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

According to the docs this is a valid keyboard type but when I edit the text field the normal ASCII keyboard comes up. However, when I change it to:

textField.keyboardType = UIKeyboardTypePhonePad;

The keyboard looks like this: phonepad keyboard

Ideally I would like a keyboard that only has the numbers and decimal point but is this not possible on the iPad? Does anyone have a definitive list of which keyboards work on the iPhone vs. iPad? Apple is unclear on this point. I also saw this question which is similar but none of the answers really address my point.

like image 459
Samantha John Avatar asked Jul 25 '12 16:07

Samantha John


People also ask

How do I connect my iPad to an external Keyboard?

Make sure the keyboard is turned on and charged. On iPad, go to Settings > Bluetooth, then turn on Bluetooth. Select the device when it appears in the Other Devices list.

Does iPad support Keyboard?

iPad keyboards provide a great typing experience, and lightweight, durable protection for your iPad. And they attach to iPad magnetically — no need for switches, plugs and pairing.

Why is my iPad external Keyboard not working?

Disconnect and reconnect the keyboard Reconnecting your Smart Keyboard may do the trick. Disconnect the Smart Keyboard, turn your iPad off, then turn it back on. Reconnect the keyboard and see if it works.


2 Answers

These are the UIKeyboardTypes that can be used on both iOS devices. From the docs:

  • UIKeyboardTypeDefault

    • Use the default keyboard for the current input method.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeASCIICapable

    • Use a keyboard that displays standard ASCII characters.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeNumbersAndPunctuation

    • Use the numbers and punctuation keyboard.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeURL

    • Use a keyboard optimized for URL entry. This type features “.”, “/”, and “.com” prominently.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeNumberPad

    • Use a numeric keypad designed for PIN entry. This type features the numbers 0 through 9 prominently. This keyboard type does not support auto-capitalization.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypePhonePad

    • Use a keypad designed for entering telephone numbers. This type features the numbers 0 through 9 and the “*” and “#” characters prominently. This keyboard type does not support auto-capitalization.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeNamePhonePad

    • Use a keypad designed for entering a person’s name or phone number. This keyboard type does not support auto-capitalization.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeEmailAddress

    • Use a keyboard optimized for specifying email addresses. This type features the “@”, “.” and space characters prominently.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeDecimalPad

    • Use a keyboard with numbers and a decimal point.
    • Available in iOS 4.1 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeTwitter

    • Use a keyboard optimized for twitter text entry, with easy access to the @ and # characters.
    • Available in iOS 5.0 and later.
    • Declared in UITextInputTraits.h.

  • UIKeyboardTypeAlphabet

    • Deprecated.
    • Use UIKeyboardTypeASCIICapable instead.
    • Available in iOS 2.0 and later.
    • Declared in UITextInputTraits.h.

Here are some screenshots of the different types of keyboards.

like image 107
Midhun MP Avatar answered Nov 15 '22 21:11

Midhun MP


I tested which keyboard types are available for iPad/iPhone using the Simulator after receiving the warning

"Can't find keyplane that supports type 8 for keyboard Wildcat-Landscape-QWERTY-Pad; using 2592645918_Wildcat-Alphabetic-Keyboard_Capital-Letters"

on the iPad for the UIKeyboardTypeDecimalPad. Hopefully this is useful for the next person that stumbles here.

iPad:

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

So, all of them except UIKeyboardTypeDecimalPad. using UIKeyboardTypeDecimalPad gets you nothing but a slap on the wrist in either iOS 5.1 or 6.1.

iPhone:

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

i.e. all of them

like image 43
Matt Jacobsen Avatar answered Nov 15 '22 20:11

Matt Jacobsen