我有以下代码...如何检查“带标记的UITextField”上的哪个文本框标记被按下/触摸或单击的值?
for (j=0; j<20; j++) {
if (j<20) {
txtField = [[UITextField alloc] initWithFrame:CGRectMake(110, txt_Pos_Y, 100, 15)];
txtField.borderStyle = UITextBorderStyleRoundedRect;
txtField.font = [UIFont systemFontOfSize:11];
txtField.tag = j;
txtField.placeholder = @"Enter Value";
txtField.autocorrectionType = UITextAutocorrectionTypeNo;
txtField.keyboardType = UIKeyboardTypeDefault;
txtField.returnKeyType = UIReturnKeyDone;
txtField.clearButtonMode = UITextFieldViewModeWhileEditing;
txtField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
txtField.delegate = self;
[scrollView addSubview:txtField];
[txtField release];
txt_Pos_Y = txt_Pos_Y + 20;
}
的代码创建20个文本框....所有的文本框是可编辑的观点将load.Now我想给value.I想,在其文本框我点击首先,只有那个TextField是可编辑的而Rest是不可编辑的。
我给了标签txtField.tag = j;
现在我无法弄清哪个标签被按下或点击了?而不是能够使TextField可编辑我点击第一,并休息不可编辑?
我试过这个来检查CalculateMethod()方法中txtField.tag == 1被点击的情况,但这不起作用。
-(void)CalculateMethod {
UITextField *txtFld = (UITextField*)[scrollView viewWithTag:1];
// I want if TextFeild "txtField.tag == 1" is clicked then Enter this condition
if(txtField.tag == 1){
double a;
a = Var_sqFt * Var_sqMtr;
txtFld.text = [[NSString alloc] initWithFormat:@"%.4f",a];
}
// I want if TextFeild "txtField.tag == 2" is clicked then Enter this condition
if(txtField.tag == 2){ // Here I want Only that
double a;
a = Var_sqFt * Var_sqMtr;
txtFld.text = [[NSString alloc] initWithFormat:@"%.4f",a];
}
}
所以我有2个问题
我想,在其文本框我点击第一,只有文本字段可以编辑及其余的将是不可编辑的,如何做到这一点?
哪个TextField被点击/触摸/按下,就像我在CalculateMethod()方法中试过的一样?
先生同样的事情我想做的“在方法检查传入参数textField的标记执行您的任务。”如何检查标签?我尝试过,如果(txtfeild.tag == 1){.... Something ....},这个条件不会执行,即使我输入“txtfeild.tag = 1”的值,编译器也不会进入这种状态。 – 2012-08-17 08:07:27
它应该工作。尝试使用'NSLog(@“标记为%i”,textField)记录标记值。标签);'确保你有正确的'如果'条件 – tGilani 2012-08-17 10:12:49