将控件动态添加到UIView

时间:2015-09-28 12:41:06

标签: ios swift uiview

如何在视图中动态添加控件。

我从REST API读取数据,然后我需要在datepicker之后添加复选框控件来查看。

示例:

[
    {
        "id": 1,
        "name": "White",
        "branch_type": 2
    },
    {
        "id": 2,
        "name": "Black",
        "branch_type": 2
    }
]

我使用Alamofire和SwiftyJSON,现在我需要将WhiteBlack作为此视图的复选框附加。

我需要一些容器吗?

这方面有什么例子吗?

enter image description here

1 个答案:

答案 0 :(得分:1)

使用UIStackView。它使您可以动态地轻松地向窗体添加/删除控件。

1)创建堆栈视图

在Interface Builder中,选择您的日期选择器,然后单击堆栈视图图标。这将创建一个新的堆栈视图并将日期选择器放入其中。调整堆栈视图属性(如间距)以在控件之间指定间距,并确保设置为垂直。

enter image description here

2)添加IBOutlet

接下来转到您的控制器文件并为堆栈视图创建一个IBOutlet,以便您可以从代码中引用它。确保将其连接到刚刚在Interface Builder中创建的堆栈视图。

@IBOutlet weak var myStackView: UIStackView!

3)添加控件

检索远程数据并将其解析为数组后,通过for循环运行它。对于每个数据项,您应该创建控件(复选框,文本字段,您需要的任何内容)并将其添加到堆栈视图中:

//...
myStackView.addArrangedSubview(myControl)

堆栈视图将管理添加的控件的位置,以便您可以轻松地动态添加或删除视图。

相关问题