以编程方式更改Y位置约束

时间:2015-12-11 14:06:55

标签: ios objective-c nslayoutconstraint

enter image description here
这是他们之间的四个按钮打开新视图。

我通过Xcode设置约束,并希望以编程方式更改位置,但它不起作用。我是新人,请帮忙。我用了

[_btn_patientInformation.translatesAutoresizingMaskIntoConstraints: NO];
NSLayoutConstraint *constraintCoordinatesCenterY =[NSLayoutConstraint                                                  constraintWithItem:_btn_patientInformation attribute:NSLayoutAttributeCenterY relatedBy:NSLayoutRelationEqual toItem:coordinatesView attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:1];

但不幸的是它不起作用。

1 个答案:

答案 0 :(得分:3)

使用outlet作为您想要更改的约束。

插座看起来像这样:

 @property (weak, nonatomic) IBOutlet NSLayoutConstraint * topPositionConstraint;

将上述约束连接到情节提要中的Y约束。

要更改约束,您只需执行以下操作:

  topPositionConstraint.constant=yourValue;

并且别忘了打电话

    [self.view layoutIfNeeded];

在约束改变之后。

尝试以这种方式设置约束:

  • 选择顶部按钮,并提供前导,尾随,顶部,高度,宽度约束。

enter image description here

  • 现在选择第二个按钮,然后按住Ctrl键将其拖动到第一个按钮,然后释放鼠标单击,选择垂直间距和前导约束。

enter image description here enter image description here

  • 对第三个按钮执行相同操作,除非您按住第三个按钮到第二个按钮。

enter image description here

现在要向上或向下移动所有这些按钮,您只需更改第一个按钮的顶部约束。