【发布时间】:2022-01-20 20:52:05
【问题描述】:
所以我有一个简单的堆栈视图,里面有两个文本,并且我添加了安全区域约束,
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) 时才会发生这种情况。
【问题讨论】:
-
尝试给出底部约束 >=
stackView.bottomAnchor.constraint(greaterThanOrEqualTo: view.safeAreaLayoutGuide.bottomAnchor) -
@RajaKishan 不幸的是,这没用。
-
堆栈视图有什么用?只需直接定位您的标签。
-
@matt 我正在使用堆栈视图来定位。直接定位很痛苦,因为据我所知,我必须为每个标签添加约束。