如何在视图中动态添加控件。
我从REST API读取数据,然后我需要在datepicker之后添加复选框控件来查看。
示例:
[
{
"id": 1,
"name": "White",
"branch_type": 2
},
{
"id": 2,
"name": "Black",
"branch_type": 2
}
]
我使用Alamofire和SwiftyJSON,现在我需要将White
和Black
作为此视图的复选框附加。
我需要一些容器吗?
这方面有什么例子吗?
答案 0 :(得分:1)
使用UIStackView。它使您可以动态地轻松地向窗体添加/删除控件。
1)创建堆栈视图
在Interface Builder中,选择您的日期选择器,然后单击堆栈视图图标。这将创建一个新的堆栈视图并将日期选择器放入其中。调整堆栈视图属性(如间距)以在控件之间指定间距,并确保轴设置为垂直。
2)添加IBOutlet
接下来转到您的控制器文件并为堆栈视图创建一个IBOutlet,以便您可以从代码中引用它。确保将其连接到刚刚在Interface Builder中创建的堆栈视图。
@IBOutlet weak var myStackView: UIStackView!
3)添加控件
检索远程数据并将其解析为数组后,通过for循环运行它。对于每个数据项,您应该创建控件(复选框,文本字段,您需要的任何内容)并将其添加到堆栈视图中:
//...
myStackView.addArrangedSubview(myControl)
堆栈视图将管理添加的控件的位置,以便您可以轻松地动态添加或删除视图。