试试这个
UIAlertView中
Objective-C的
UIAlertView *alert = [[UIAlertView alloc] initWithTitle: APP_NAME message:@"Please enter amount" delegate:self cancelButtonTitle:@"Done" otherButtonTitles: nil];
alert.alertViewStyle = UIAlertViewStylePlainTextInput;
UITextField *textField = [alert textFieldAtIndex:0];
textField.keyboardType = UIKeyboardTypeNumberPad;
// set return key type of current textfield
textField.returnKeyType = UIReturnKeyDone;
[alert show];
斯威夫特
var alert: UIAlertView = UIAlertView(title: APP_NAME, message: "Please enter amount", delegate: self, cancelButtonTitle: "Done", otherButtonTitles: "")
alert.alertViewStyle = .PlainTextInput
var textField: UITextField = alert.textFieldAtIndex(0)
textField.keyboardType = .NumberPad
textField.returnKeyType = UIReturnKeyDone
alert.show()
作为
typedef NS_ENUM(NSInteger, UIReturnKeyType) {
UIReturnKeyDefault,
UIReturnKeyGo,
UIReturnKeyGoogle,
UIReturnKeyJoin,
UIReturnKeyNext,
UIReturnKeyRoute,
UIReturnKeySearch,
UIReturnKeySend,
UIReturnKeyYahoo,
UIReturnKeyDone,
UIReturnKeyEmergencyCall,
UIReturnKeyContinue NS_ENUM_AVAILABLE_IOS(9_0),
};
注意其他类型的枚举 - UIAlertView中一直以来的iOS 8在这个地方使用UIAlertcontroller
UIAlertController
斯威夫特
var loginTextField: UITextField?
let alertController = UIAlertController(title:APP_NAME, message: "Please enter amount", preferredStyle: .Alert)
let ok = UIAlertAction(title: "Done", style: .Default, handler: { (action) -> Void in
print("Ok Button Pressed")
})
alertController.addAction(ok)
alertController.addTextFieldWithConfigurationHandler { (textField) -> Void in
// Enter the textfiled customization code here.
loginTextField = textField
//loginTextField?.placeholder = "xxx"
loginTextField?.keyboardType = UIKeyboardType.NumberPad
loginTextField?.returnKeyType = UIReturnKey.Done
}
presentViewController(alertController, animated: true, completion: nil)
弃用
Objective-C的
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:APP_NAME
message:@"Please enter amount"
preferredStyle:UIAlertControllerStyleAlert];
UIAlertAction *Done = [UIAlertAction actionWithTitle:@"Done"
style:UIAlertActionStyleDefault
handler:^(UIAlertAction *action) {
// handler code
}];
[alertController addAction:Done];
[alertController addTextFieldWithConfigurationHandler:^(UITextField *textField) {
//handler code
textField.keyboardType = UIKeyboardTypeNumberPad;
// set return key type of current textfield
textField.returnKeyType = UIReturnKeyDone;
}];
[self presentViewController:alertController animated:YES completion:nil];
您是否知道,因为iOS的8 UIAlertView中已弃用? –
“完成”按钮而不是“返回” - 你可以更多地解释一下 –
@ Anbu.Karthik当你把光标放在UIAlertView的UITextField中,然后键盘会显示回车按钮。 – ppshein