我想将 2 个按钮移动到屏幕宽度的中心。 它应该看起来像: |<-(100)FirstButton(50)->SecondButton(100)->|
我从第一个按钮开始。
var const = NSLayoutConstraint(item: firstButton,
attribute: NSLayoutAttribute.Left,
relatedBy: NSLayoutRelation.Equal,
toItem: view.superview,
attribute: NSLayoutAttribute.Left,
multiplier: 1.0,
constant: 100)
为什么不起作用?
最佳答案
似乎 firstButton
尚未将属性 translatesAutoresizingMaskIntoConstraints
设置为 false
translatesAutoresizingMaskIntoConstraints
的 Apple 文档说明:
/* 默认情况下, View 上的自动调整大小掩码会产生完全确定的约束
View 的位置。这允许自动布局系统跟踪其 View 的帧
布局是手动控制的(例如通过 -setFrame:)。
当您选择通过添加自己的约束来使用自动布局来定位 View 时,
您必须将此属性设置为“否”。 IB 将为您做这件事。
*/
@可用(iOS 6.0,*)
open vartranslatesAutoresizingMaskIntoConstraints: Bool//默认 YES
因此,当您添加自己的约束时,必须将 firstButton
的 translatesAutoresizingMaskIntoConstraints
设置为 false
关于swift - NSLayoutConstraint 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530334/