我有一个应用程序,动画从0到1的一些图像的alpha。如果我使用popToRootViewController
返回到上一个视图,然后返回到此视图,则动画将从按下后退按钮的位置继续。此外,“动画电影”再次启动,而另一个动画仍在进行中。有两种电影一次播放。
我显示如下图像:
-(void)showStar2
{
[UIView animateWithDuration:0.3f animations:^{
[UIView setAnimationDelay:0.3];
[stars[1] setAlpha:1];
} completion:^(BOOL finished){
[self showStar3];
}];
当我按下后退按钮时,有没有办法停止动画过程?我试过了[self.view.layer removeAllAnimations]
,但它仍无效。
答案 0 :(得分:0)
您需要导入QuartzCore.h文件。
#import <QuartzCore/QuartzCore.h>
每当你想停止动画时都要调用
[CATransaction begin];
[self.view.layer removeAllAnimations];
[CATransaction commit];
答案 1 :(得分:0)
在创建starView之前放置它(不知道它是如何调用的)
if (starView!=nil){
[starView removeFromSuperview];
[starView release];
starView = nil;
}
starView = [[UIView alloc] initWithFrame:frame];
这将在创建新图像之前删除您的图像。
或者在关闭视图时删除图像。