2012-05-14 16 views
16

actualmente estoy usando este UIAlertView hacer una ventana emergente de inicio de sesión,UIAlertView: UIAlertViewStyleSecureTextInput: Teclado Numérico

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"Restricted" 
               message:@"Please Enter Code to Enable Fields" 
               delegate:self 
             cancelButtonTitle:@"Cancel" 
             otherButtonTitles:@"Login" 
         , nil]; 
alert.alertViewStyle = UIAlertViewStyleSecureTextInput; 

[alert show]; 

Sin embargo, me gustaría que la introducción de texto a ser un teclado numérico en lugar del teclado normal

¿hay una manera fácil de hacer esto, o tengo que mirar en la creación de un encargo UIAleartView

Respuesta

51

puede probar esto para cambiar el tipo de teclado del campo de la UIAlertView 's:

[[alert textFieldAtIndex:0] setDelegate:self]; 
[[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypeNumberPad]; 
[[alert textFieldAtIndex:0] becomeFirstResponder]; 
+0

complemento a su archivo * .h –

4

respuesta fresca, pero para iOS 7 Tengo un poco de adaptación

alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
[alert show]; 
[[alert textFieldAtIndex:0] setDelegate:self]; 
[[alert textFieldAtIndex:0] resignFirstResponder]; 
[[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypePhonePad]; 
[[alert textFieldAtIndex:0] becomeFirstResponder]; 
+0

Cambiar el teclado antes de llamar '[Muestra alerta];' debería aliviar la necesidad de renunciar y ser el primero en responder. – rebello95

4
UIAlertView *alertView1 = [[UIAlertView alloc] initWithTitle:@"Enter File Number" message:@"" delegate:self cancelButtonTitle:@"Cancel" otherButtonTitles:@"Ok", nil]; 
     alertView1.alertViewStyle = UIKeyboardTypePhonePad; 
     myTextField = [alertView1 textFieldAtIndex:0]; 
     myTextField.keyboardType=UIKeyboardTypeNumberPad; 
     [alertView1 setTag:3]; 
     [alertView1 show]; 
Cuestiones relacionadas