所以我有一個簡單的堆疊視圖,里面有兩個文本,我添加了安全區域約束,
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .white
let label = UILabel()
label.text = "Hello, World!"
label.sizeToFit()
label.translatesAutoresizingMaskIntoConstraints = false
let label2 = UILabel()
label2.text = "Hello, World!"
label2.sizeToFit()
label2.translatesAutoresizingMaskIntoConstraints = false
let stackView = UIStackView()
stackView.axis = .vertical
stackView.addArrangedSubview(label)
stackView.addArrangedSubview(label2)
stackView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(stackView)
NSLayoutConstraint.activate([
stackView.topAnchor.constraint(equalTo: view.safeAreaLayoutGuide.topAnchor),
stackView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
])
}
}
但它在兩個文本之間有很大的空間。我如何洗掉該空間?這僅在我添加這一行時發生stackView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)。

uj5u.com熱心網友回復:
您要求堆疊視圖使用整個螢屏高度,向視圖底部錨點添加約束。
只需洗掉以下約束:
stackView.bottomAnchor.constraint(equalTo: view.safeAreaLayoutGuide.bottomAnchor)
uj5u.com熱心網友回復:
問題是 StackView 正在使它中的元素均勻地填充空間。嘗試設定:stackView.distribution = .fill 這是一篇關于 StackView 如何作業以及為什么會發生在你身上的文章:https ://spin.atomicobject.com/2016/06/22/uistackview-distribution/
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/384881.html
上一篇:如果兩個串列超過給定的歐幾里德距離,如何從兩個串列中洗掉特定值?
下一篇:如何快速保留字串上的屬性組合
