2014-09-30 95 views
0

我有一個UIActionSheet和4個按鈕。我已經有一個文本字段。如果我按下操作表上的2按鈕,我必須再添加1個文本框和第3個按鈕,我必須添加2個UITextField s等等5個按鈕。並且場景是如果我按第5個按鈕5應該添加textfields,並且如果我按第1個按鈕剩餘4 textfields應該基於我必須設置scrollview的contentSize。我寫了這個:動態添加uitextfields

-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex 


    if(buttonIndex>1) 
    { 
     float yAxis = _adult1TF.frame.origin.y+_adult1TF.frame.size.height+10; 
     float xAxis1 = _adult1TF.frame.origin.x; 
     float xAxis2 = _child1TF.frame.origin.x; 
     float width = _child1TF.frame.size.width; 
     for(int i=1;i<(buttonIndex+1);i++) 
     { 
      UILabel * roomLabel2 = [[UILabel alloc]initWithFrame:CGRectMake(xAxis1, yAxis, width, 20)]; 
      roomLabel2.text = [NSString stringWithFormat:@"Room%d:",i+1]; 
      [_scroll addSubview:roomLabel2]; 
      UILabel * adultLabel = [[UILabel alloc]initWithFrame:CGRectMake(xAxis1, roomLabel2.frame.size.height+roomLabel2.frame.origin.y+10, width, 20)]; 
      adultLabel.text = @"Adults"; 
      [_scroll addSubview:adultLabel]; 
      UILabel * childLabel = [[UILabel alloc]initWithFrame:CGRectMake(xAxis2, adultLabel.frame.origin.y, width, 20)]; 
      childLabel.text = @"Children"; 
      [_scroll addSubview:childLabel]; 

      UITextField * adultTF = [[UITextField alloc]initWithFrame:CGRectMake(xAxis1, adultLabel.frame.size.height+adultLabel.frame.origin.y+10, width, 30)]; 
      adultTF.text = @"1"; 
      [_scroll addSubview:adultTF]; 

      UITextField * childTF = [[UITextField alloc]initWithFrame:CGRectMake(xAxis2, adultTF.frame.origin.y, width, 30)]; 
      childTF.text = @"0"; 
      [_scroll addSubview:childTF]; 
      adultTF.borderStyle = childTF.borderStyle = UITextBorderStyleRoundedRect; 
      yAxis = adultTF.frame.size.height+adultTF.frame.origin.y+10; 
     } 
     _searchButton.frame = CGRectMake(_searchButton.frame.origin.x, yAxis+10, _searchButton.frame.size.width, _searchButton.frame.size.height); 
     _scroll.contentSize = CGSizeMake(_scroll.frame.size.width, _searchButton.frame.size.height+_searchButton.frame.origin.y+15); 
    } 

的問題,這是我能夠添加文本框卻又如果我按第一按鈕剩餘的文本框都不會。

請告訴我如何實現這個問題。

+0

在添加文本字段之前,請移除scrollview中的所有子視圖 – 2014-09-30 11:38:43

+0

使用tableview並將textfields添加到每個單元格,然後單擊檢查按鈕在操作單中按下並將行數設置爲按鈕單擊的index.if要隱藏tableview分隔符。 – iOSdev 2014-09-30 11:40:13

回答

0

您已經提到過,該操作表具有限定數量的按鈕。所以你創建所有文本域並隱藏這些文本域。當用戶點擊操作表按鈕時,只需根據按鈕索引隱藏/取消隱藏文本框。

如果你有更多的按鈕(想創建更多的文本字段),你可以使用UITableView類來創建具有重用功能的多個對象。