iOS应用程序启动时如何播放开场动画

1 iphone animation image launch

我试图让代码正确,在我在xcode中创建的iphone应用程序上播放开场动画.我希望它只在应用程序启动时播放(如愤怒的小鸟),而不是每次我回到主页面.我尝试了几件事,似乎没有什么工作正常.谁能告诉我如何正确地做到这一点?

我正在使用一系列图像来创建动画.

我试图在viewDidLoad中放置来自geeky lemon教程(http://www.youtube.com/watch?v=5AbdZ-8JBZQ)的动画代码.这确实可以工作并播放动画,但每次我回到动画播放的主页面.我不希望在返回主页面时播放动画,就在应用程序启动时.

我还尝试添加另一个视图,这是应用程序启动时的第一个视图,并在viewDidLoad中播放动画,然后在动画完成后使用执行选择器转到主页面(完成后延迟部分).这也有效并且播放动画并且在我回到主屏幕时不播放但这导致一些错误使应用程序崩溃.我已经将NSLogs放在了viewDidLoad部分,所以我可以看到这些页面正常工作,有时当我在应用程序中播放它时,我正在调用我的开始动画viewDidLoad.所以我认为这与崩溃有关.当我取出这个视图并直接进入主视图时它不会崩溃.

我也尝试将它放在app委托中,但我根本无法工作.

请帮助这让我发疯,我无法弄清楚出了什么问题.我知道它可以适用于愤怒的小鸟,而其他人则非常成功.

如果有更好的方法?

tny*_*lee 6

试试这个:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
    [self.window makeKeyAndVisible];

    UIImageView *imageView =[[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 100, 100)];
    imageView.animationImages = [NSArray arrayWithObjects:
                                 [UIImage imageNamed:@"myImage1.png"], [UIImage imageNamed:@"myImage2.png"], [UIImage imageNamed:@"myImage3.png"], [UIImage imageNamed:@"myImage4.png"], [UIImage imageNamed:@"myImage5.png"], [UIImage imageNamed:@"myImage6.png"], nil];


    imageView.animationDuration = 0.5;
    imageView.animationRepeatCount = 3;
    [imageView startAnimating];
    [self.window addSubview:imageView];

    return YES;
}
Run Code Online (Sandbox Code Playgroud)

将动画添加为子视图 self.window