iOS飞溅屏幕animation

在我的应用程序,我想启animation面animation我正在使用下面的代码,但animation无法正常工作。

UIImageView *splashScreen = [[UIImageView alloc] initWithImage:[UIImage imageNamed: @"Default.png"]]; [self.window.rootViewController.view addSubview: splashScreen]; [self.window makeKeyAndVisible]; NSLog(@"begin splash"); [UIView animateWithDuration: 0.2 delay: 0.5 options: UIViewAnimationOptionCurveEaseOut animations: ^{splashScreen.alpha = 0.0; } completion: ^ (BOOL finished) { [splashScreen removeFromSuperview]; NSLog(@"end splash"); } ]; 

你不能animation飞溅的图像,但你可以等到应用程序启动,并添加您自己的视图与animation。

你不能不使用它将实现的一些技巧

打开你的AppDelegate.m并将下面的代码添加到你的应用程序didFinishLaunching或application didFinishLaunchingWithOptions函数中:

 //1. add the image to the front of the view... UIImageView *splashImage = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)]; [splashImage setImage: [UIImage imageNamed:@"Default"]]; [self.window addSubview:splashImage]; [self.window bringSubviewToFront:splashImage]; //2. set an anchor point on the image view so it opens from the left splashImage.layer.anchorPoint = CGPointMake(0, 0.5); //reset the image view frame splashImage.frame = CGRectMake(0, 0, 320, 480); //3. animate the open [UIView animateWithDuration:1.0 delay:0.6 options:(UIViewAnimationCurveEaseOut) animations:^{ splashImage.layer.transform = CATransform3DRotate(CATransform3DIdentity, -M_PI_2, 0, 1, 0); } completion:^(BOOL finished){ //remove that imageview from the view [splashImage removeFromSuperview]; }]; 

下载示例应用程序

animation,闪屏,默认PNG