【发布时间】:2011-05-29 22:27:29
【问题描述】:
我有四个UITextFields,想限制每个的长度,但它们的长度都不一样。到目前为止,我有以下代码,但它不能正常工作
define MAXLENGTH 5
define MAXQTY 3
define MAXSIZE 4
define MAXBRAND 10
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string{
int lengtha = [brand.text length] ;
NSLog(@"lenghta = %d",lengtha);
if (lengtha >= MAXBRAND && ![string isEqualToString:@""]) {
brand.text = [brand.text substringToIndex:MAXBRAND];
return NO;
}
return YES;
int lengthb = [qty.text length] ;
NSLog(@"lenghtb = %d",lengtha);
if (lengthb >= MAXQTY && ![string isEqualToString:@""]) {
qty.text = [qty.text substringToIndex:MAXQTY];
return NO;
}
return YES;
int lengthc = [size.text length] ;
NSLog(@"lenghtc = %d",lengtha);
if (lengthc >= MAXSIZE && ![string isEqualToString:@""]) {
size.text = [size.text substringToIndex:MAXSIZE];
return NO;
}
return YES;
int lengthd = [price.text length] ;
NSLog(@"lenghtd = %d",lengtha);
if (lengthd >= MAXLENGTH && ![string isEqualToString:@""]) {
price.text = [price.text substringToIndex:MAXLENGTH];
return NO;
}
return YES;
}
【问题讨论】:
-
一旦您的代码到达第一个“返回 YES;”在 if 语句之后,没有其他任何东西得到处理。你的逻辑不正确。
标签: objective-c cocoa-touch ios uitextfield uitextfielddelegate