Keyboard types on the iPad for UITextFields


Alex Zavatone
 

Just checking in to see if someone here knows something I don’t with regards to the available keyboard types vs. the displayed keyboard types on the iPad under iOS.



Of course, the documentation here is rather thick and useless, as nowhere in Apple’s iOS docs can I see an image of the expected keyboard to be displayed for each UITextField.keyboardType.

Am I correct in assuming that there is no numbers and decimal point only keyboard that can be set for the iPad?

Out of all enums

These are the enums from UITextInputTraits.h that I have tried, and not one of them displayed a numbers only keypad, nor do the docs mention that the expected keyboard on an iPad should not be as indicated.

typedef NS_ENUM(NSInteger, UIKeyboardType) {
    UIKeyboardTypeDefault,                // Default type for the current input method.
    UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters
    UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
    UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
    UIKeyboardTypeNumberPad,              // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.
    UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
    UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
    UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).
    UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // A number pad with a decimal point.
    UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // A type optimized for twitter text entry (easy access to @ #)
    UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // A default keyboard type with URL-oriented addition (shows space . prominently).
    UIKeyboardTypeASCIICapableNumberPad NS_ENUM_AVAILABLE_IOS(10_0), // A number pad (0-9) that will always be ASCII digits.

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable// Deprecated
};

Thanks in advance,
Alex Zavatone


Glenn L. Austin
 

That's correct. There's no "numeric keypad" for the iPad.

-- 
Glenn L. Austin, Computer Wizard, AustinSoft.com

On Jan 30, 2018, at 3:53 PM, Alex Zavatone <zav@...> wrote:

Just checking in to see if someone here knows something I don’t with regards to the available keyboard types vs. the displayed keyboard types on the iPad under iOS.



Of course, the documentation here is rather thick and useless, as nowhere in Apple’s iOS docs can I see an image of the expected keyboard to be displayed for each UITextField.keyboardType.

Am I correct in assuming that there is no numbers and decimal point only keyboard that can be set for the iPad?

Out of all enums

These are the enums from UITextInputTraits.h that I have tried, and not one of them displayed a numbers only keypad, nor do the docs mention that the expected keyboard on an iPad should not be as indicated.

typedef NS_ENUM(NSInteger, UIKeyboardType) {
    UIKeyboardTypeDefault,                // Default type for the current input method.
    UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters
    UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
    UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
    UIKeyboardTypeNumberPad,              // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.
    UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
    UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
    UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).
    UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // A number pad with a decimal point.
    UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // A type optimized for twitter text entry (easy access to @ #)
    UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // A default keyboard type with URL-oriented addition (shows space . prominently).
    UIKeyboardTypeASCIICapableNumberPad NS_ENUM_AVAILABLE_IOS(10_0), // A number pad (0-9) that will always be ASCII digits.

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable// Deprecated
};

Thanks in advance,
Alex Zavatone


Alex Zavatone
 

Argh.  Thank for, Glenn.

Oh, it would be OH SO NICE, if the docs and the header files actually indicated this to be the case.  

The current documentation and comments are DIRECTLY MISLEADING.

It’s there in the headers - without any stipulation if there is a difference between iPhone or iPad - that the keyboard to be displayed will be of “this type with these keys".

Jesus.  The docs need to represent what is there, not mislead the programmer.  

And of course, now it’s expected of me to ask that the docs and the headers reflect this, when instead, I have to spend the time that I don’t have to make a numeric keypad.  

Sweet mother of aggravation.




On Jan 30, 2018, at 8:11 PM, Glenn L. Austin <glenn@...> wrote:

That's correct. There's no "numeric keypad" for the iPad.

-- 
Glenn L. Austin, Computer Wizard, AustinSoft.com

On Jan 30, 2018, at 3:53 PM, Alex Zavatone <zav@...> wrote:

Just checking in to see if someone here knows something I don’t with regards to the available keyboard types vs. the displayed keyboard types on the iPad under iOS.



Of course, the documentation here is rather thick and useless, as nowhere in Apple’s iOS docs can I see an image of the expected keyboard to be displayed for each UITextField.keyboardType.

Am I correct in assuming that there is no numbers and decimal point only keyboard that can be set for the iPad?

Out of all enums

These are the enums from UITextInputTraits.h that I have tried, and not one of them displayed a numbers only keypad, nor do the docs mention that the expected keyboard on an iPad should not be as indicated.

typedef NS_ENUM(NSInteger, UIKeyboardType) {
    UIKeyboardTypeDefault,                // Default type for the current input method.
    UIKeyboardTypeASCIICapable,           // Displays a keyboard which can enter ASCII characters
    UIKeyboardTypeNumbersAndPunctuation,  // Numbers and assorted punctuation.
    UIKeyboardTypeURL,                    // A type optimized for URL entry (shows . / .com prominently).
    UIKeyboardTypeNumberPad,              // A number pad with locale-appropriate digits (0-9, ۰-۹, ०-९, etc.). Suitable for PIN entry.
    UIKeyboardTypePhonePad,               // A phone pad (1-9, *, 0, #, with letters under the numbers).
    UIKeyboardTypeNamePhonePad,           // A type optimized for entering a person's name or phone number.
    UIKeyboardTypeEmailAddress,           // A type optimized for multiple email address entry (shows space @ . prominently).
    UIKeyboardTypeDecimalPad NS_ENUM_AVAILABLE_IOS(4_1),   // A number pad with a decimal point.
    UIKeyboardTypeTwitter NS_ENUM_AVAILABLE_IOS(5_0),      // A type optimized for twitter text entry (easy access to @ #)
    UIKeyboardTypeWebSearch NS_ENUM_AVAILABLE_IOS(7_0),    // A default keyboard type with URL-oriented addition (shows space . prominently).
    UIKeyboardTypeASCIICapableNumberPad NS_ENUM_AVAILABLE_IOS(10_0), // A number pad (0-9) that will always be ASCII digits.

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable// Deprecated
};

Thanks in advance,
Alex Zavatone



Ben Kennedy
 

On 30 Jan 2018, at 6:44 pm, Alex Zavatone <zav@mac.com> wrote:

Oh, it would be OH SO NICE, if the docs and the header files actually indicated this to be the case.

Jesus. The docs need to represent what is there, not mislead the programmer.
For whose benefit is this rant?

We all agree with you.

-ben