私は次のコードを持っています...
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個のテキストフィールドを作成します....ビューが読み込まれると、すべてのテキストフィールドが編集可能になります.今、私は値を与えたいです.最初にクリックしたテキストフィールドで、そのTextFieldのみが編集可能になり、残りは編集不可になります.
タグ 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 のみが編集可能になり、 Rest が NonEditable になりたいのですが、これを行う方法は?
CalculateMethod() メソッドで試したように、どの TextField が click/Touch/Pressed ですか?