我想限制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代碼,表示同意。我建議使用正則表達式來驗證格式,並且在通過格式測試後對轉換後的值進行顯式範圍檢查。 –
啊,呃;我不太明白。 –