我目前正在使用Swift中的iOS应用程序创建一个对象列表。我正在使用UIStackView来组织这些对象,我开始制作一个UIView容器,它主要容纳UILabels。我遇到了一个困扰我的问题,我希望有iOS经验的人可以解释为什么会这样。到目前为止,这是我的简单代码:
override func viewDidLoad() {
super.viewDidLoad()
for i in 0...5{
//Make card in here
let DynamicView=UITextView(frame: CGRectMake(0, 0, 100, 100))
DynamicView.backgroundColor=UIColor.greenColor()
DynamicView.layer.borderWidth=2
let lbl = UILabel()
lbl.text="Label " + String(i)
lbl.backgroundColor = UIColor.whiteColor()
lbl.layer.borderColor = UIColor.lightGrayColor().CGColor
lbl.layer.borderWidth = 2.0
stackView.addArrangedSubview(lbl)
//stackView.addArrangedSubview(DynamicView)
}
在这里,我向StackView添加了6个标签,它们成功运行:
您可以在注释代码中看到我尝试添加UIView,在将其添加到UIStackView之前,它看起来像这样:
当我将它添加到UIStackView(并注释掉之前的标签)时,我希望UIViews出现的区域是空白的:
我在代码中做错了吗?可以将UIViews添加到UIStackViews吗?
答案 0 :(得分:1)
我认为你没有为Stack View设置top, leading, bottom and trailing
约束。同时将堆栈视图的分布设置为同等填充。