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