UITextField只允许输入整数

774 阅读1分钟
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string  {
    return [self validateNumber:string];
}

- (BOOL)validateNumber:(NSString*)number {
    BOOL res = YES;
    NSCharacterSet* tmpSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];
    int i = 0;
    while (i < number.length) {
         NSString * string = [number substringWithRange:NSMakeRange(i, 1)];
         NSRange range = [string rangeOfCharacterFromSet:tmpSet];
         if (range.length == 0) {
            res = NO;
            break;
          }
          i++;
       }
    return res;
}