iOS integer only in textfield

- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
    NSString *textValue = textField.text;
    //NSString *firstChar = [textValue substringWithRange:NSMakeRange(0, 1)];
    
    UITextRange *selRange = textField.selectedTextRange;
    UITextPosition *selStartPos = selRange.start;
    NSInteger idx = [textField offsetFromPosition:textField.beginningOfDocument toPosition:selStartPos];
    NSCharacterSet *nonNumberSet = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
    return ([string stringByTrimmingCharactersInSet:nonNumberSet].length > 0) || [string isEqualToString:@""] || (idx == 0 && [string isEqualToString:@"-"]);
    
    return YES;
}

0 意見: