2012-05-14 5 views
16

Attualmente sto usando questo UIAlertView per fare un popup di login,UIAlertView: UIAlertViewStyleSecureTextInput: Tastiera numerica

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]; 

Tuttavia vorrei l'input di testo da una tastiera numerica anziché la tastiera normale

c'è un modo semplice per fare questo, o devo guardare nella creazione di un UIAleartView personalizzato

risposta

51

si può provare questo per cambiare il tipo di tastiera di campo s' il UIAlertView:

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

add al vostro file * .h –

4

risposta fredda ma per iOS 7 ho un po 'di adattamento

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

Cambiare la tastiera prima di chiamare '[Visualizza avviso];' dovrebbe alleviare la necessità di dimettersi e diventare il primo soccorritore. – 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];