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:
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.
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.
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.
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.
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.
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:
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:
i.e. all of them
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With