我的iPad应用程序中有一个TextField。我希望“数字键盘”接触(没有标点符号和字母键盘按钮)。我该怎么办?如何验证TextField?
答案 0 :(得分:4)
在界面构建器中设置textField keyboard = NumberPad。
由于
Mitesh
答案 1 :(得分:4)
NSString *nameRegex =@"[0-9]";
NSPredicate *nameTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", nameRegex];
BOOL isNumber=[nameTest evaluateWithObject:string];
if(isNumber) {
// valid number found
} else {
// error message
}
在UITextField委托方法textField:shouldChangeCharactersInRange:replacementString:
中使用此验证代码,以防止用户输入无效值。
答案 2 :(得分:2)
你无法在ipad上获得数字键盘。你自己必须检查用户从键盘输入的内容,如果没有数字显示他们输入数字的警告。
答案 3 :(得分:1)
您还可以使用askee mumber验证,如下所示我已经进行了验证,其中我考虑了onley数字和后退按钮。
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
if([string isEqualToString:[NSString stringWithFormat:@"%c", 48]]||[string isEqualToString:[NSString stringWithFormat:@"%c", 49]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 50]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 51]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 52]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 53]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 54]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 55]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 56]] ||[string isEqualToString:[NSString stringWithFormat:@"%c", 57]] || [string isEqualToString:[NSString stringWithFormat:@"%c", 46]]||[string isEqualToString:@""])
{
if(textField==myText)
return YES;
else
return NO;
}
else
return NO;
}
答案 4 :(得分:1)
这是iPad的数字键盘实现:https://github.com/IngmarStein/NumericKeypad
免责声明:它是我自己的azu's NumericKeypad的分支