以编程方式更改 Y 位置约束
Posted
技术标签:
【中文标题】以编程方式更改 Y 位置约束【英文标题】:Changing Y position constraints programmatically 【发布时间】:2015-12-11 14:06:55 【问题描述】:这是在它们之间打开新视图的四个按钮。
我通过 Xcode 设置约束,并想以编程方式更改位置,但它不起作用。我是新人,请帮忙。我用过
[_btn_patientInformation.translatesAutoresizingMaskIntoConstraints: NO];
NSLayoutConstraint *constraintCoordinatesCenterY =[NSLayoutConstraint constraintWithItem:_btn_patientInformation attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:coordinatesView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:1];
但不幸的是它不起作用。
【问题讨论】:
对要更改的约束使用 outlet 我从 xcode 中设置了所有出口约束,现在想从编码中更改。 【参考方案1】:为你想改变的约束使用出口。
插座将如下所示:
@property (weak, nonatomic) IBOutlet NSLayoutConstraint * topPositionConstraint;
将上述约束连接到情节提要中的 Y 约束。
要更改约束,您可以简单地执行以下操作:
topPositionConstraint.constant=yourValue;
别忘了打电话
[self.view layoutIfNeeded];
在约束改变之后。
尝试以这种方式设置约束:
选择顶部按钮,并给出前导、尾随、顶部、高度、宽度约束。 现在选择第二个按钮,然后 ctrl 将其拖动到第一个按钮,然后释放鼠标单击,然后选择垂直间距和前导约束。对第三个按钮执行相同的操作,不同之处在于您 ctrl 将第三个按钮拖动到第二个按钮。
现在要向上或向下移动所有这些按钮,您只需更改第一个按钮的顶部约束即可。
【讨论】:
我想改变 btn 的 y 位置,但它不起作用 如果你真的想改变按钮的顶部约束,不要试图改变按钮框架来改变它的位置 你能把你的按钮截图贴在你的故事板上吗? 这是四个按钮屏幕,当我单击发件人信息按钮时,它会打开带有按钮的小视图,而其他三个按钮会以相同的空间向下移动 你是如何为所有这些按钮设置约束的以上是关于以编程方式更改 Y 位置约束的主要内容,如果未能解决你的问题,请参考以下文章