2013-04-06 84 views
1

我是新來Objective C 我生成動態textfields並試圖從按下按鈕,但我面臨的問題各textfield取的.text價值的世界裏只有在最後textfield值爲獲取 EG-如果3生成的動態textfeilds和我輸入值textfeilds 1,2,3分別,我想所有這些值,但目前我只從去年textfeild獲取的TextField.text值

獲得價值我試圖代碼如下 //此函數生成動態textfeilds

 - (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); 

任何人可以幫助我走出 預先感謝

+0

得到的解決方案親愛的? – 2013-04-06 10:49:23

+0

no sir,trying ....... – 2013-04-06 10:50:46

+0

實際上你的要求是什麼? – 2013-04-06 10:51:23

回答

1
- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    [self dynamicTextFields]; 
} 
- (void)dynamicTextFields 
{ 
    NSString *string = @"3"; 
    int Pointsvalue = [string intValue]; 
    int x; 
    for (x=1; x < Pointsvalue ; x++) 
    { 
     UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(100,60*x,120,45)]; 
     textField.borderStyle=UITextBorderStyleRoundedRect; 
     [textField setDelegate:self]; 
     textField.keyboardType=UIKeyboardTypeNumberPad; 
     textField.tag = x; 
     [self.view addSubview:textField]; 
    } 
} 

- (IBAction)btnRetrieveTextFeildValues:(id)sender 
{ 
    NSMutableArray *valuesArray = [[NSMutableArray alloc]init]; 
    NSString *string = @"3"; 
    int Pointsvalue = [string intValue]; 
    int x; 
    for (x=1; x < Pointsvalue ; x++) 
    { 
     UITextField *textField = (UITextField *)[self.view viewWithTag:x]; 
     NSLog(@"Text - -%@",textField.text); 
     if ([textField.text length]!=0) 
     { 
      [valuesArray addObject:textField.text]; 
     } 
    } 
    NSLog(@"ValuesArray -- %@",valuesArray); 
} 
+0

感謝好友這個工作對我來說...... – 2013-04-06 11:27:47

+0

享受老兄:)接受! – 2013-04-06 11:30:18

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 ... 只是檢查現在

+0

nopes這個拋出異常(無法識別的選擇器發送到實例0x918da00') – 2013-04-06 10:05:34

+0

什麼?只有你的代碼。我剛剛獲得了textField。好了,現在編輯 – 2013-04-06 10:06:31

+0

編輯,檢查 – 2013-04-06 10:07:20

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);