2013-04-02 105 views
4

創建alertViewStyle屬性UIAlertView,如何操作?更改TextField UIAlertView的鍵盤類型

UES UIAlertViewStylePlainTextInput

我想更改鍵盤類型,但不[警報addsubView:XX]。

有沒有可以設置的屬性?

我的代碼:

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"a" message:@"b" delegate:nil cancelButtonTitle:@"cancel" otherButtonTitles:@"aaa", nil]; 
alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
[alert show]; 
+0

@ nsgulliver,@ nsgulliver,現在,我表達清楚了? – isaced

+0

你想改變鍵盤類型?或者只是想在inputStyle中顯示鍵盤? – nsgulliver

+0

你可以去一個自定義的文本框選項(將添加到添加子視圖方法alertview)。如果你想我可以提供你的代碼。 – harshitgupta

回答

40

如果你想展示的輸入方式,首先實現你們班UIAlertViewDelegate

其次,當您呈現alertView時,將代表設置爲self。

UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"a" message:@"b" delegate:self cancelButtonTitle:@"cancel" otherButtonTitles:@"aaa", nil]; 
alert.alertViewStyle = UIAlertViewStylePlainTextInput; 
[alert show];' 

如果您想更改特定領域的鍵盤類型,然後做這樣的

e.g爲1場,它將使鍵盤numeritc。

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

更新的iOS 8.0雨燕

從IOS 8.0以後UIAlertView已經過時,所以你可能需要使用UIAlertController

var alert = UIAlertController(title: "Title", message: "Your msg", 
       preferredStyle: UIAlertControllerStyle.Alert) 

     alert.addAction(UIAlertAction(title: "Close", style: UIAlertActionStyle.Cancel, 
       handler:yourHandler)) 

     alert.addTextFieldWithConfigurationHandler({(textField: UITextField!) in 
      textField.placeholder = "Password" 
      textField.secureTextEntry = true // setting the secured text for using password 
      textField.keyboardType = UIKeyboardType.Default 
     }) 
+0

okok,非常感謝..我的英文不是很好,很抱歉.. – isaced

+0

非常感謝... – isaced