Objective-C中 UITextField弹出数字键盘并且只能输入数字
时间: 2023-07-04 14:18:35 浏览: 120
你可以通过设置UITextField的keyboardType属性来弹出数字键盘,同时通过实现UITextFieldDelegate协议的textField(_:shouldChangeCharactersIn:replacementString:)方法,对输入的字符进行判断,只允许数字的输入。具体实现代码如下:
```objective-c
// 设置键盘类型为数字键盘
textField.keyboardType = UIKeyboardTypeNumberPad;
// 实现UITextFieldDelegate协议的textField:shouldChangeCharactersInRange:replacementString:方法
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet *allowedCharacters = [NSCharacterSet decimalDigitCharacterSet];
NSCharacterSet *characterSet = [NSCharacterSet characterSetWithCharactersInString:string];
return [allowedCharacters isSupersetOfSet:characterSet];
}
```
这里只允许输入数字,如果输入的内容不是数字,则返回NO,不允许输入。
阅读全文