0

我正在尝试为容器视图中的图像视图设置动画。容器视图是方形的并且对齐屏幕的中心。我的容器内确实有一个图像视图。我的图像视图的位置如下图所示。(超级视图是我的容器视图)

在此处输入图像描述

我想为容器内的图像视图设置动画,例如从顶部 0 到底部 0,所以我尝试从顶部 0 到顶部最大值(即容器视图的高度)设置动画,但它没有按预期工作。我的预期输出类似于图像视图应该在容器视图内从上到下连续动画并反转。

我尝试过的动画方法是

int maxTop = self.containerView.frame.size.height/2;
self.topConstraint.constant = maxTop;
[self.imageView setNeedsUpdateConstraints];
[UIView animateWithDuration:0.5 delay:0 options:UIViewAnimationOptionRepeat|UIViewAnimationOptionAutoreverse animations:^{
    [self.imageView layoutIfNeeded];
} completion:nil];

编辑:这是当前输出的 GIF。它没有移动到全高度 动图

4

2 回答 2

0

尝试

[UIView beginAnimations:nil context:nil;
[UIView setAnimationDuration:0.5];
[self.topConstraint.animator setConstant:maxTop];
[UIView commitAnimations];

与您的原始代码一样,您没有在动画中设置约束常量

于 2015-05-25T12:14:31.183 回答
0

动画应该在 viewDidAppear 之后开始,这样父视图才能正确对齐。

于 2015-05-27T08:53:59.507 回答