我想限制UITextField中的用户输入为1-105。我已经设置了委托并通过以下代码成功限制了字符的实际数量,这些代码在Stackoverflow的其他地方找到。有什么我可以添加,以强制用户输入1到105之间的任何整数?将UITextField中的用户输入限制在一定范围的数字(不是字符数)
#define MAXLENGTH 2
- (BOOL)textField:(UITextField *) textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSUInteger oldLength = [_startLevel.text length];
NSUInteger replacementLength = [string length];
NSUInteger rangeLength = range.length;
NSUInteger newLength = oldLength - rangeLength + replacementLength;
BOOL returnKey = [string rangeOfString: @"\n"].location != NSNotFound;
return newLength <= MAXLENGTH || returnKey;
}
我正在使用数字键盘,所以用户已经限制输入数字。我只需要找到能够让他们输入范围内的东西的东西。
在此先感谢。
@Josh代码,表示同意。我建议使用正则表达式来验证格式,并且在通过格式测试后对转换后的值进行显式范围检查。 –
啊,呃;我不太明白。 –