有没有办法以编程方式将视图从一个按钮居中到另一个按钮?

时间:2015-09-08 17:35:30

标签: ios objective-c swift cocoa-touch uiview

我想知道我是否可以通过编程方式将视图从一个元素集中到另一个元素。

下面的屏幕截图解释了它。

如果我点击" Sort2"我想将Sort2中的视图设置为以Sort1为中心而不是

enter image description here

2 个答案:

答案 0 :(得分:1)

在Sort2按钮的选择器中,添加

[UIView animateWithDuration:1.0 animations:^{
    sort2View.center = CGPointMake(sort1View.center.x, sort1View.center.y + 50)
}];

另一种更清洁的方法是添加UIConstraint s。

答案 1 :(得分:1)

使用布局约束有一种更好的方法。您应该在Sort2和视图之间给出中心约束,并将其优先级设置为High。之后,在Sort1和您的视图之间给出中心约束,并将其优先级设置为Low。之后,您只需要使用此代码更改其优先级。 (在代码中,yourView是包含这三个视图的整个视图)

[UIView animateWithDuration:0.5 animations:^{
    [yourView layoutIfNeeded];
}];