iPad自制移动动画

时间:2011-02-24 19:11:51

标签: iphone cocoa-touch ipad uikit core-animation

我的iPad性能有问题。我需要用动画拖动UIView。这就像自制的UIScrollView,但具有更大的反弹效果。

我使用自制动画循环和NSTimer(scheduletTimerWithInterval 0.3秒)。在每次迭代中,我一步一步地移动视图。

但问题是它不时冻结。不是太多......但足以让人感觉..有谁知道以正确的方式做任何跟进事情的方法,所以它会起到魅力的作用吗?

提前致谢!

2 个答案:

答案 0 :(得分:1)

您应该使用[UIView beginAnimations]而不是预定的计时器。例如,要移动超过2秒的东西,你可以这样做:

YourView.center = CGPointMake(0,0);
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:2];
YourView.center = CGPointMake(30, 30);
[UIView commitAnimations];

这将在2秒内将YourView从0,0移动到30,30(这就是setAnimationDuration的用途)。因此,如果您想要执行反弹效果,您将拥有这些序列。您也可以在使用

完成动画时收到通知

[UIView setAnimationDidStopSelector:@selector(somefunction)]

此时你可以在你的功能中启动另一个动画"某些功能"。

答案 1 :(得分:0)

也许计时器会导致您的问题。动画的间隔应该是这样的:1.0 / 60.0f