【发布时间】:2020-08-25 14:50:53
【问题描述】:
我正在以编程方式对我的视图创建约束。当我尝试使用 layoutMarginsGuide 锚点时,顶部和底部锚点按预期工作,但即使插入设置为 0,前导和尾随锚点也会创建边距。是什么创建了这些不需要的边距,我该如何正确设置它们?
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .systemRed
view.directionalLayoutMargins = NSDirectionalEdgeInsets(top: 0, leading: 0, bottom: 0, trailing: 0)
let childView = UIView(frame: .zero)
childView.backgroundColor = .systemIndigo
childView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(childView)
NSLayoutConstraint.activate([
childView.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor),
childView.bottomAnchor.constraint(equalTo: view.layoutMarginsGuide.bottomAnchor),
childView.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor),
childView.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor),
])
}
【问题讨论】:
标签: ios swift layout autolayout