0

UITextField 只能通过使用 UITableView 来接受数字。

4

3 回答 3

4

您必须执行两个步骤:

  1. UIKeyboardTypeNumberPad正如其他人所提到的,提供键盘类型为。
  2. -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    

    方法检查输入的字符串是否为数字。您可以使用以下方法检查数值:

    -(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
    {
        if([self isNumeric:string])
            return TRUE;
        else
            return FALSE;
    }
    
    -(BOOL)isNumeric:(NSString*)inputString
    {
        NSCharacterSet *cs=[[NSCharacterSet characterSetWithCharactersInString:@"0123456789"] invertedSet];
        NSString *filtered;
        filtered = [[inputString componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
        return [inputString isEqualToString:filtered];
    }
    
于 2012-07-11T11:16:05.543 回答
1

在您的 xib 文件中选择 textFiled 并在属性列表中有一个字段 Keyboard select Number Pad

于 2012-07-11T11:02:38.457 回答
0

如果您在编码时有 textFiled 可用,请设置 UITextField 的 keyboardType 属性。

 textField.keyboardType = UIKeyboardTypeNumberPad;

或者您可以在 xib 文件中设置相同的值。

于 2012-07-11T11:01:57.013 回答