我有一个UITextfield,我需要检查输入的值是否在特定范围内(例如2到10之间)。任何人都可以帮助提供示例代码吗?
我正在使用此代码
if( [[textfieldobject.text stringByTrimmingCharactersInSet:
[NSCharacterSet whitespaceCharacterSet]] length] != 0 &&
[[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] <= 2 &&
[[textfieldobject.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]] length] > 10)
答案 0 :(得分:1)
只需将字符串值转换为int,然后检查范围。 intValue将始终返回有效的int转换(如果有任何非数字,则为零)。请注意,如果有人输入“a10”,结果将为0,并且在下面的代码中,它将落在范围内。
int convertedValue = [textFieldObject.text intValue];
if (convertedValue >= 0 && convertedValue <= 10) {
NSLog(@"In range");
} else {
NSLog(@"Out of range");
}
您可以通过覆盖UITextFieldDelegate委托来阻止超出范围的字符:
shouldChangeCharactersInRange
或覆盖此委托并运行您的支票,然后弹出通知并让用户进行编辑。
textFieldDidEndEditing
答案 1 :(得分:0)
您可以使用长度属性。