0

i like to limit three UItextfield to only 1 number, i uses this code but it doenst work.

the code:

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

1 Answers1

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;
    }
}

source: Iphone UITextField only integer

Community
  • 1
  • 1
endo.anaconda
  • 2,449
  • 4
  • 29
  • 55