我有一个关于UIStackView
内UIView
的自动布局约束问题。
我的目标是创建一个视图:
private static func makeSpace(with value: CGFloat) -> UIView {
let view = UIView()
view.translatesAutoresizingMaskIntoConstraints = true
let heightConstraint = view.heightAnchor.constraint(lessThanOrEqualToConstant: value)
heightConstraint.priority = UILayoutPriorityDefaultHigh
NSLayoutConstraint.activate([
view.widthAnchor.constraint(equalToConstant: 295),
heightConstraint
])
return view
}
我想将此视图作为排列的子视图添加到
UIStackView
中,作为其他 UIStackView
排列的子视图之间的空间。
当我使用可视化检查器检查这些视图时,我的空间视图高度为 0
。然而,当我将约束更改为 equalToConstant
时,高度会正确计算。
我想使用 lessThanOrEqualToConstant
,以便在屏幕布局太小无法适应正确大小时,允许这些空间缩小。
是否有其他人遇到过这个问题?
value: CGFloat
传递给约束... - Daumantas VersockasverticalCompressionResistance
设置为 1000。这应该只在需要时使您的间隔视图收缩。 您还可以使heightConstraint
变为必须而不仅仅是高优先级。 - David Ganster