0

我是 Xcode 的新手,对此我找不到任何东西。我想使用 UIViewAnimationCurve 将 UIImage 从视图的左下角移动到左上角。我知道 iPhone 的原点在左上角。如何将其更改为左下角,以便动画可以在右上角结束?这是我到目前为止所拥有的:

[UIView animateWithDuration:2.0
                      delay:2
                    options:UIViewAnimationCurveLinear | UIViewAnimationOptionAllowUserInteraction
                 animations:^{[MyImage setFrame:CGRectMake(0,200, 82, 78)]; }
                 completion:^(BOOL finished) {
                     [MyImage setFrame:CGRectMake(200,0, 82, 78)];
                 }];
4

1 回答 1

0

您想要 (a) 在左下角建立视图的原点,然后 (b) 动画到左上角的过渡。

//  step a
[MyImage setFrame:CGRectMake(0, 200, 82, 78)];

[UIView animateWithDuration:2.0
                      delay:2
                    options:UIViewAnimationCurveLinear | UIViewAnimationOptionAllowUserInteraction
                 animations:^{
                   //  step b
                   [MyImage setFrame:CGRectMake(0, 0, 82, 78)];
                  }
                 completion:nil];

视图的框架将在动画期间设置,也不需要在完成块中完成该工作。

注意:您的短语“我想使用 UIViewAnimationCurve ...”非常具有误导性。表达您的请求的更常见的方式是“我想使用 UIView 动画......”。说的很清楚,UIViewAnimationCurve枚举是指动画从头到尾的动画速率;UIViewAnimationCurveLinear意味着动画将以平滑的线性速率从头到尾进行。

于 2014-08-21T01:30:44.533 回答