在我看来,我将拥有这样的动态 UILabel 数量:
| HEADER |
| - label |
| - label |
| - label |
| ... |
| BUTTON |
由于标签的动态数量,我正在为代码中的每个元素构建带有约束的布局(使用 Snap Kit)。假设我有一个字符串数组,为数组中的每个字符串创建单独的标签,添加到 superview 并将其放置在前一个的下方。但是我不确定如何正确设置这些标签的约束?我相信我需要编写for循环,但是如何指示第一个标签贴在标题上,每个旁边贴上一个标签,最后下面的按钮贴在最后一个标签上?
header.snp.makeConstraints { (make) -> Void in
make.top.equalTo(self.view).offset(10)
make.leading.equalTo(self.view).offset(10)
make.trailing.equalTo(self.view).offset(10)
}
for object in objects {
let label = UILabel()
label.text = object
self.view.addSubview(label)
// and here how to set correct constraints for each label?
}
button.snp.makeConstraints { (make) -> Void in
make.leading.equalTo(self.view).offset(10)
make.trailing.equalTo(self.view).offset(10)
make.bottom.equalTo(self.view).offset(10)
}
这是我第一次在代码中编写所有约束,如果这听起来像个愚蠢的问题,很抱歉。感谢帮助。