2014-09-30 80 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类来创建具有重用功能的多个对象。