我目前有一个堆栈视图设置,其中包含许多不同的对象,我正在尝试向其中添加视图。
该视图将在运行时以编程方式在其中添加动态数量的标签。
将视图放入堆栈视图时,会遇到约束错误,这些错误可以通过添加高度约束来解决。
但是,我最初不知道视图的高度,所以我不能限制它。
有什么方法可以根据其内容大小在StackView中自动调整UIView的大小吗?我以为这是自动的,但是当我不设置高度限制时,视图不会显示
答案 0 :(得分:0)
您不必将内容视图放入stackview内即可向其中添加元素,您只需将具有(前导,尾随,top)约束的stackview钩到superView即可
然后使用添加元素
stack.addArrangedSubview(view)
最重要的是,您添加的元素必须具有内在的内容大小,例如label和button,否则,请添加高度
someView.heightAnchor.constraint(equalToConstant:<#setValue#>).isActive = true
分布设置为“填充”
答案 1 :(得分:0)
在UIStackView中添加具有动态高度的自定义UIView的步骤
按如下所示创建CustomUIView实例
Bundle.main.loadNibNamed(nibName, owner: self, options: nil).first as! CustomUIView
如下所示将UIView添加到UIStackView。
stackView.addArrangedSubview(customView)