我有一个UIActionSheet
和4个按钮。我已经有一个文本字段了。如果我按动作表上的2按钮,我必须再添加1个文本字段和第3个按钮,我必须添加2 UITextField
s,依此类推5个按钮。并且场景是如果我按下第5个按钮应该添加5个文本字段,如果我按第1个按钮,则剩下4个文本字段应该基于我必须设置scrollview的contentSize。我写了这个:
-(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 :(得分:0)
您已经提到过操作表有多少个按钮。因此,您可以创建所有文本字段并隐藏这些文本字段。当用户点击操作表按钮时,您只需根据按钮索引隐藏/取消隐藏文本字段。
如果你有更多的按钮(想要创建更多的文本字段),你可以使用UITableView类来创建具有重用功能的多个对象。