2012-05-14 16 views
16

Ich bin zur Zeit dieses UIAlertView mit einem Login Popup zu tun,UIAlertView: UIAlertViewStyleSecureTextInput: Numerische Tastatur

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

Jedoch habe ich die Texteingabe möchte eine numerische Tastatur anstelle der normalen Tastatur sein

gibt es eine einfache Möglichkeit, dies zu tun, oder muss ich eine benutzerdefinierte UIAleartView

Antwort

51

Sie diese in die Schaffung aussehen müssen versuchen, können Sie den Tastaturtyp des UIAlertView ‚s Feld zu ändern:

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

add Ihren * .h-Datei –

4

kühle Antwort, aber für iOS 7 Ich habe eine kleine Anpassung

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

die Tastatur ändern, bevor '[alert zeigen] Aufruf;' lindern sollte die Notwendigkeit, zurückzutreten und Ersthelfer zu werden. – 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]; 
Verwandte Themen