1

我一直在尝试为徽标构建一个从屏幕顶部到底部的入口效果,并在我的应用程序中加载新视图时保持在那里。我已经看过所有使用 NSTimer 来反弹图像的教程,但是一旦我的徽标到达底部,它就需要退出。我将阅读动画块代码,看看我的解决方案是否存在。

抱歉,我是新人,非常感谢您的帮助。

4

2 回答 2

2

将徽标框架设置为顶部,然后:

[UIView beginAnimations: @"moveLogo" context: nil]; 
[UIView setAnimationDelegate:self]; 
[UIView setAnimationDuration:1.0];
[UIView setAnimationCurve: UIViewAnimationCurveLinear];
logoToMove.frame =  CGRectMake( final frame at the bottom );
[UIView commitAnimations];

logoToMove是您的徽标,给它一个出口并将其挂在 xib 中。因此,您将设置初始帧和动画中的最终帧。动画将完成剩下的工作。UIViewAnimationCurveLinear如果您不喜欢,请更改为所需的。还有加速或减速运动的持续时间。

于 2012-07-10T08:14:37.760 回答
0

要在动画结束时删除视图,最简单的方法是使用 blocks :

logoToMove.frame = topRect;

[UIView animateWithDuration:duration 
                 animations:^{
                    logoToMove.frame = bottomFrame;
                 } 
                 completion:^(BOOL finished) {
                    [logoToMove removeFromSuperview];
                 }
];

这样做可以让您控制动画以及在单一方法完成后要执行的操作

于 2012-07-10T08:54:53.013 回答