我正在查看输入到 UITextField 中的值是否超过 100。
我正在使用 textField:shouldChangeCharactersInRange:replacementString: (下面的代码)将输入的字符长度限制为 3。我想知道如果输入超过 100 的值,是否有办法搭载此方法来清除输入。
-(BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
NSString *newString = [textField.text stringByReplacingCharactersInRange:range withString:string];
return !([newString length] >3);
}
最佳答案
你有文本字段,所以你可以写
if([newString length] > 3]) {
textField.text = @"";
}
return YES;
编辑:
看来您真正想要的是输入验证和检查大于 100 的数字,下次您应该在问题中澄清,因为它是模棱两可的。
1.) 验证输入是一个数字
- (BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString*)string {
NSCharacterSet* numberSet = [NSCharacterSet characterSetWithCharactersInString:@"0123456789."];
return ([string stringByTrimmingCharactersInSet:numberSet].length == 0);
}
2.) 通过 IB 或代码将 UITextField 的“Editing Changed”Action 连接到此方法
- (IBAction)textFieldDidChange:(UITextField*)textField {
NSString* text = textField.text;
double number = [text doubleValue];
if(number > 100)
textField.text = @"";
}
3.) 在设置文本字段时添加此代码以将其连接到方法
[textField addTarget:self action:@selector(textFieldDidChange:) forControlEvents:UIControlEventEditingChanged];
关于ios - 如果输入的值超过指定的整数,则清除 UITextField,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24641585/