你可以用約束或與自動尺寸面具做到這一點。
如果你想使用的限制,你必須在堆棧視圖激活限制之前添加到它的父,是這樣的:如果你想使用自動尺寸面具
let rootView = ...
rootView.addSubview(parentStack)
rootView.addSubview(parentStack)
parentStack.translatesAutoresizingMaskIntoConstraints = false
NSLayoutConstraint.activate([
rootView.leadingAnchor.constraint(equalTo: parentStack.leadingAnchor),
rootView.trailingAnchor.constraint(equalTo: parentStack.trailingAnchor),
rootView.widthAnchor.constraint(equalTo: parentStack.widthAnchor),
rootView.heightAnchor.constraint(equalTo: parentStack.heightAnchor)])
,你需要設置堆棧視圖的框架等於其超級視圖的邊界:
let rootView = ...
rootView.addSubview(parentStack)
parentStack.frame = rootView.bounds
parentStack.translatesAutoresizingMaskIntoConstraints = true
parentStack.autoresizingMask = [ .flexibleWidth, .flexibleHeight ]