1

私はObjective C ダイナミックtextfieldsを生成し、ボタンを押すたびに.text値を取得しようとしている世界に不慣れですtextfieldが、私が直面している問題は、最後の値のみtextfieldがフェッチされることです。たとえば、3つのダイナミックtextfeildsが生成され、値1、2を入力した場合、 3 のtextfeildsそれぞれに、これらすべての値が必要ですが、現在、最後の値からのみ値を取得していますtextfeild

私が試しているコードは以下のとおりです//この関数は動的なテキストフィールドを生成します

      - (void)dynamicTextboxes {
            NSString *string = txt1.text;
           int Pointsvalue = [string intValue];
           int x;     
          for (x=0; x < Pointsvalue ; x++)
            {     
               txtFldFrame1 = [[UITextField alloc] initWithFrame:CGRectMake(100,60*x,120,45)];
               txtFldFrame1.borderStyle=UITextBorderStyleRoundedRect;
               txtFldFrame1.keyboardType=UIKeyboardTypeNumberPad;    

                [self.view addSubview:txtFldFrame1];
               ArrPut=[[NSMutableArray alloc]initWithObjects:txtFldFrame1, nil];      
       }

         }


       // function to Acess the values
           NSString *string = txt1.text;
          int Pointsvalue = [string intValue];
          int x;
          for (x=0; x < Pointsvalue ; x++)
          {
              NSString * values=txtFldFrame1.text;
              [ArrPut addObject:values];
                if(txtFldFrame1.text.length>0)
                {

                 ArrClick=[NSMutableArray array];
               [ArrClick addObjectsFromArray:ArrPut];
             }
            }
               NSLog(@"%@",ArrClick);

誰でも私を助けてくれますか よろしくお願いします

4

3 に答える 3

0
- (void)dynamicTextboxes
{
    NSString *string = txt1.text;
    int Pointsvalue = [string intValue];
    int x;
    for (x=1; x < =Pointsvalue ; x++)
    {
        txtFldFrame1 = [[UITextField alloc] initWithFrame:CGRectMake(100,60*x,120,45)];
        txtFldFrame1.borderStyle=UITextBorderStyleRoundedRect;
        txtFldFrame1.keyboardType=UIKeyboardTypeNumberPad;
        txtFldFrame1.tag = x;
        [self.view addSubview:txtFldFrame1];
        ArrPut=[[NSMutableArray alloc]initWithObjects:txtFldFrame1, nil];
    }

}


// function to Acess the values
UITextField *txtField = (UITextField *)[self.view viewWithTag:x];
NSString *string = txtField.text;
int Pointsvalue = [string intValue];
int x;
for (x=1; x < Pointsvalue ; x++)
{
    if(txtField.text.length>0)
    {   
        NSString * values=txtField.text;
        [ArrPut addObject:values];
    }
}
NSLog(@"%@",ArrClick);

ねえ、UIView 自体には tagValue 0 があります...だから、1 からループします...今すぐ確認してください

于 2013-04-06T09:50:25.170 に答える
0
NSString *string = txt1.text;
int Pointsvalue = [string intValue];
int x;
  ArrClick=[NSMutableArray array];
for (x=0; x < Pointsvalue ; x++)
{
    NSString * values=txtFldFrame1.text;
    [ArrPut addObject:values];
    UITextField *txtField = (UITextField *)[self.view viewWithTag:x];
    if(txtField.text.length>0)
    {


        [ArrClick addObjectsFromArray:ArrPut];
    }
}
NSLog(@"%@",ArrClick);
于 2013-04-06T09:53:12.683 に答える