0

我喜欢将三个 UItextfield 限制为只有 1 个数字,我使用此代码但它确实有效。

编码:

- (BOOL)textField:(UITextField *)numeroIngresa1
shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
 if (range.location >= 1)
 return NO; // return NO to not change text
 return YES;
}
4

1 回答 1

3
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{

    NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
    [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];

    NSNumber* candidateNumber;

    NSString* candidateString = [textField.text stringByReplacingCharactersInRange:range withString:string];

    range = NSMakeRange(0, [candidateString length]);

    [numberFormatter getObjectValue:&candidateNumber forString:candidateString range:&range error:nil];

    if (([candidateString length] > 0) && (candidateNumber == nil || range.length < [candidateString length])) {

        return NO;
    }
    else 
    {
        return YES;
    }
}

来源:Iphone UITextField only integer

于 2012-04-15T02:06:52.993 回答