【发布时间】:2017-08-24 12:54:54
【问题描述】:
我在viewDidLoad 中的设置非常简单,只需添加一个视图并通过“锚”样式将其固定到超级视图的边缘:
let myView = UIView(frame: .zero)
myView.translatesAutoresizingMaskIntoConstraints = false
view.addSubview(myView)
myView.backgroundColor = UIColor.red
myView.leadingAnchor.constraint(equalTo: view.layoutMarginsGuide.leadingAnchor).isActive = true
myView.trailingAnchor.constraint(equalTo: view.layoutMarginsGuide.trailingAnchor).isActive = true
myView.bottomAnchor.constraint(equalTo: view.layoutMarginsGuide.bottomAnchor).isActive = true
myView.topAnchor.constraint(equalTo: view.layoutMarginsGuide.topAnchor).isActive = true
view.layoutMargins = .zero
问题是在模拟器中运行时仍有余量。为什么 layoutMargins 置零被忽略?
【问题讨论】:
-
如果你想要零,为什么不直接使用
view.leadingAnchor? -
我不能。这是一些项目的非常简化的案例。我不是在构建红色矩形应用程序 :-)
-
好的,我在怀疑,所以我对你的问题的回答
-
我也认为这个答案的正确名称是如何以编程方式更改边距大小,因为这是您的主要问题还是我错了?
标签: ios swift autolayout