iOS:Autolayout对动画效果不佳

时间:2014-01-27 15:47:16

标签: ios autolayout uiviewanimation

在我的应用程序中,我有一个故事板,我使用“autolayout”选项;问题是如果我以这种方式用动画移动一些UIImageView:

[UIView animateWithDuration:1.0 animations:^{

    [image setCenter:CGPointMake(300,200)];
}];

当动画完成图像返回原始位置时,为什么???如果我没有检查autolayout选项它工作正常。 你能告诉我是否可以使用autolayout管理动画吗?那有什么办法呢?

1 个答案:

答案 0 :(得分:1)

AUTOLAYOUT的第一个规则! 您无法使用AutoLayout更改视图的框架或中心。

要为视图设置动画,您必须设置一个约束,您将使用该约束为其设置动画,然后更改约束。

self.heightConstraint = [NSLayoutConstraint constraintWithItem:self.theView
attribute:
relatedBy:
toItem:
attribute:
multiplier:
constant:];
// set up the rest

[self.view addConstraint:self.heightConstraint];

然后给它制作动画......

self.heightConstraint.constant = 20;

[UIView animateWithDuration:2.0
animations:^() {
    [self.view layoutIfNeeded];
}];