移动uiimageview动画

时间:2012-04-08 20:55:12

标签: ios iphone image ipad uiimage

我怎样才能在屏幕底部进行UIImage移动,在20秒内移动到屏幕顶部(每秒约35像素)我不是说你应该自己拖动它,但是它应该自动移动到顶部。谢谢

2 个答案:

答案 0 :(得分:18)

首先,apple doc是你的朋友。我在这里给你的所有信息都来源于此。 Apple还提供了大量的示例代码,您一定要看看它。

您可以(轻松地)实现此目的的方法是使用UIView动画。假设您的图像具有UIImageView,则可以使用animateWithDuration:(NSTimeInterval)duration animations:...方法。

例如:

[UIView animateWithDuration:10.0f animations:^{
    //Move the image view to 100, 100 over 10 seconds.
    imageView.frame = CGRectMake(100.0f, 100.0f, imageView.frame.size.width, imageView.frame.size.height);
}];

您可以通过向动画添加越来越多的选项,获得完成块等来获得更好的效果。这可以通过'animateWithDuration'方法的变体来实现。有很多关于UIView动画的教程,还有大量的文档。

如果您不想使用块(上面的^ {... code ...}位),您可以像这样运行动画:

[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:10.0f];
imageView.frame = ...
[UIView commitAnimations];

答案 1 :(得分:3)

如果我理解你可以动画你自己的对象,在这种情况下尝试beginAnimation

...
initial position

[UIView beginAnimation];
[UIView setAnimationDuration:dim/35.];
[UIView setAnimationCurve:[UIViewAnimationCurveLinear];

your animation

[UIView commitAnimations];
...

用这个计算dim / 35计算到第二位以得到动画35px / s