You usually achieve this using a proprietary number format that has a minimum / maximum valid value, for example:
NSNumberFormatter* formatter= [[NSNumberFormatter alloc]init]; formatter.numberStyle= NSNumberFormatterDecimalStyle; formatter.allowsFloats= NO; formatter.maximum= @103; formatter.minimum= @23;
Then allow the user to return only if the formatter returns a valid number:
- (BOOL)textFieldShouldReturn:(UITextField *)textField { return [formatter numberFromString: textField.text]!= nil; }
source share