如何为堆栈视图中的视图添加约束

我有一个包含4个按钮的堆栈视图。 每个按钮我也添加了subview。 那4个按钮的子视图,我尝试编程为其添加约束。 一些约束,如.Trailing .Leading .Top .Bottom我无法通过错误约束和堆栈视图问题添加它。 如何将该约束添加到stackview的子视图的任何解决方案。 如果有任何样品,对我来说真的很好。 预先感谢

UIStackView的function是减少你对约束的使用,只需给它一些设置信息,如轴,分布,对齐,间距 。 堆栈视图将自动布局您的子视图项,因为堆栈视图的大小基于其“子视图”intrinsicContentSize,您可以通过额外的约束设置子视图的大小来覆盖。

向stackView的子视图添加约束与UIView中的其他项相同。 但不是 StackView方式,您应该关心添加冲突约束。

希望此代码演示有助于:

let stackView = UIStackView() let demoView = UIView() demoView.backgroundColor = UIColor.red stackView.addArrangedSubview(demoView) demoView.translatesAutoresizingMaskIntoConstraints = false // add your constraints as usual demoView.widthAnchor.constraint(equalToConstant: 300).isActive = true demoView.heightAnchor.constraint(equalToConstant: 200).isActive = true demoView.trailingAnchor.constraint(equalTo: stackView.trailingAnchor).isActive = true demoView.topAnchor.constraint(equalTo: stackView.topAnchor).isActive = true view.addSubview(stackView) stackView.translatesAutoresizingMaskIntoConstraints = false stackView.trailingAnchor.constraint(equalTo: view.trailingAnchor).isActive = true stackView.topAnchor.constraint(equalTo: view.topAnchor).isActive = true