我需要实现一个视图,要求我根据服务器的响应创建按钮。
示例回复:
{
...
"enable_button_1" = 1;
"enable_button_2" = 1;
"enable_button_3" = 1;
...
}
目前,我尝试使用Interface Builder手动创建按钮。并且它们中的每一个都嵌入在UIView中并且彼此叠加。像这样:
它们默认是隐藏的。因此,无论何时启用了多个按钮,我都会使用if
条件进行检查,然后取消隐藏视图。
例如。只启用了一个按钮
例如。启用了两个按钮
但问题是这样做,我可能会错过一些用例,这似乎是一种不好的做法。有没有什么方法可以动态创建它而不是在Interface Builder中的UIViews中创建多个按钮?
答案 0 :(得分:1)
您始终可以以编程方式创建按钮并将其添加到视图中。您必须计算按钮框架的宽度,以便它们始终适合视图100%。
例如某种方式:
//Here you'd have to calculate the correct position of the button you want to add
CGRect frame = CGRectMake(0, 0, self.buttonView.frame.size.width, self.buttonView.frame.size.height);
UIButton *button = [[UIButton alloc] initWithFrame:frame];
[button setTitle:@"myButton" forState:UIControlStateNormal];
[self.buttonView addSubview:button];