2009-07-13 35 views
5

Quiero usar solo el teclado alfabético, ¿cómo restringirlo? He usado siguiente declaración pero no oculta el botón que convierte el teclado numérico en unoUIkeyboard tipo

tempTextField.keyboardType = UIKeyboardTypeAlphabet;  

Respuesta

9

estoy affraid no se puede restringir el teclado de caracteres alfabéticos de entrada. Los keyboardTypes disponibles se enumeran en la referencia al protocolo UITextInputTraits, y aún con más detalle en el archivo de cabecera:

typedef enum { 
    UIKeyboardTypeDefault,    // Default type for the current input method. 
    UIKeyboardTypeASCIICapable,   // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active 
    UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation. 
    UIKeyboardTypeURL,     // A type optimized for URL entry (shows ./.com prominently). 
    UIKeyboardTypeNumberPad,    // A number pad (0-9). 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). 

    UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated 

} UIKeyboardType; 

me siento lo que desea no se encuentra desde el SDK. Me gustaría presentar un informe de error con Apple solicitando un nuevo tipo de teclado, como el que ha mencionado.

¿Cuál es la solución para usted además de presentar un informe de error y esperar a que su nuevo tipo de teclado esté disponible en el SDK? Verificando la entrada en el campo de texto. Esto se puede hacer asignando la propiedad de delegado del UITextField e implementando el método UITextFieldDelegate textField: shouldChangeCharactersInRange: replacementString: y solo devuelve SÍ si la cadena de reemplazo no contiene números.

HTH

+1

Hay una aplicación de lo que sugiere @drvdijk aquí: http://stackoverflow.com/questions/1013647/filtering-characters-entered-into- a-uitextfield/1015262 # 1015262 – teabot

4

los tipos de teclado actualizado

typedef NS_ENUM(NSInteger, UIKeyboardType) { 
     UIKeyboardTypeDefault,    // Default type for the current input method. 
     UIKeyboardTypeASCIICapable,   // Displays a keyboard which can enter ASCII characters, non-ASCII keyboards remain active 
     UIKeyboardTypeNumbersAndPunctuation, // Numbers and assorted punctuation. 
     UIKeyboardTypeURL,     // A type optimized for URL entry (shows ./.com prominently). 
     UIKeyboardTypeNumberPad,    // A number pad (0-9). 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). 
    #if __IPHONE_4_1 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
     UIKeyboardTypeDecimalPad,    // A number pad with a decimal point. 
    #endif 
    #if __IPHONE_5_0 <= __IPHONE_OS_VERSION_MAX_ALLOWED 
     UIKeyboardTypeTwitter,    // A type optimized for twitter text entry (easy access to @ #) 
    #endif 

     UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable, // Deprecated 

    }; 
Cuestiones relacionadas