我在uitableview行中使用多个uitextfield。
例如,用户可以在两个uitextfield中键入数字范围。
现在如何处理这些uitextfield中输入的值的某些验证?
例如,uitextfield1不应低于1,而uitextfield2不应高于100。
这是我设置文本字段仅具有数值的旧代码:
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
NSCharacterSet *cs = [[NSCharacterSet characterSetWithCharactersInString:ACCEPTABLE_CHARECTERS] invertedSet];
NSString *filtered = [[string componentsSeparatedByCharactersInSet:cs] componentsJoinedByString:@""];
return [string isEqualToString:filtered];
return YES;
}
在我的cellForRowAtIndexPath中:
static NSString *CellIdentifier = @"Cell";
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
UITextField * UTX1 = (UITextField *)[cell viewWithTag:1];
UITextField * UTX2 = (UITextField *)[cell viewWithTag:2];
UTX1.delegate = self;
UTX2.delegate = self;
最佳答案
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string {
// allow backspace
if (!string.length)
{
return YES;
}
// allow digit 0 to 9
if ([string intValue])
{
if(textfield.tag==1){ // First textfield
if([string intValue]<1){
return NO;
}
}
else if(textfield.tag==2){ // Second textfield
if([string intValue]>100){
return NO;
}
}
return YES;
}
return NO;
}
您可以根据需要更改值范围的条件以允许每个文本字段。
关于ios - 在uitableview中的多个UITextField上添加不同类型的验证,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26623242/