我怎么能UIImage
在 20 秒内从屏幕底部移动到屏幕顶部(大约每秒 35 像素)我不是说你应该自己拖动它,但它应该会自动移动到顶部。谢谢
问问题
11827 次
2 回答
19
首先,苹果文档是你的朋友。我在这里给你的所有信息都来源于此。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];
于 2012-04-08T21:09:02.540 回答
3
如果我理解它,您可以为自己的对象制作动画,在这种情况下尝试 beginAnimation
...
initial position
[UIView beginAnimation];
[UIView setAnimationDuration:dim/35.];
[UIView setAnimationCurve:[UIViewAnimationCurveLinear];
your animation
[UIView commitAnimations];
...
用这个计算 dim/35 计算第二位让你的动画 35px / s
于 2012-04-08T21:11:02.627 回答