UITextField只接受iphone中的数字

时间:2012-07-11 11:00:36

标签: iphone

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

3 个答案:

答案 0 :(得分: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];
    }
    

答案 1 :(得分:1)

在你的xib文件中选择文本字段,在属性列表中有一个字段键盘选择数字键盘

答案 2 :(得分:0)

如果编码时有文本字段,请设置UITextField的keyboardType属性。

 textField.keyboardType = UIKeyboardTypeNumberPad;

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