UIAlertView:UIAlertViewStyleSecureTextInput:数字键盘

我目前使用这个UIAlertView做一个loginpopup,

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

不过,我想文本input是一个数字键盘,而不是普通的键盘

有没有一个简单的方法来做到这一点,或者我必须考虑创build一个自定义的UIAleartView

你可以试试这个来改变UIAlertView字段的键盘types:

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

很酷的答案,但对于iOS 7我有一点适应

 alert.alertViewStyle = UIAlertViewStylePlainTextInput; [alert show]; [[alert textFieldAtIndex:0] setDelegate:self]; [[alert textFieldAtIndex:0] resignFirstResponder]; [[alert textFieldAtIndex:0] setKeyboardType:UIKeyboardTypePhonePad]; [[alert textFieldAtIndex:0] becomeFirstResponder]; 
  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];