iPhone程序Splash启动画面

方法一:

 

官方SDK最简单的方法

最简单的方法就是做一个全屏的欢迎页的图片,把它命名为Default.png,然后放在Xcode工程的Resource里面。 执行就可以看到你的这个默认图像在程序完全加载之前显示在屏幕上。

但是这个方法有个问题,如果你的程序很快载入了,这个图片会立刻消失,导致还没有看清楚图片上的内容。 而且有些内容虽然程序已经载入了,但是有些程序需要的资源是要从服务器上加载的,所以直接进入程序,用户还是无法使用这个应用。

方法二:

 

1. 将你需要的splash界面的图片,存成Default.png
2. 在XXXAppDelegate.m程序中,插入如下代码:

 

C代码   收藏代码
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.       
  5.     //开始;  
  6.     [NSThread sleepForTimeInterval:3.0];  
  7.     //结束;  
  8.       
  9.     // Override point for customization after application launch.  
  10.     self.window.backgroundColor=[UIColor redColor];//加个背景红色  
  11.       
  12.     if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {  
  13.         self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];  
  14.     } else {  
  15.         self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];  
  16.     }  
  17.     self.window.rootViewController = self.viewController;  
  18.     [self.window makeKeyAndVisible];  
  19.     return YES;  
  20. }  

 

  [NSThread sleepForTimeInterval:3.0]是splash页面停留3秒后消失。

方法三:

找个带有动画效果,原理:

添加一张和Default.png一样的图片,对这个图片进行动画,从而实现Default动画的渐变消失的效果。

 

C代码   收藏代码
  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions  
  2. {  
  3.     self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]] autorelease];  
  4.     // Override point for customization after application launch.  
  5.     //self.window.backgroundColor=[UIColor redColor];//加个背景红色  
  6.       
  7.     if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPhone) {  
  8.         self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPhone" bundle:nil] autorelease];  
  9.     } else {  
  10.         self.viewController = [[[ViewController alloc] initWithNibName:@"ViewController_iPad" bundle:nil] autorelease];  
  11.     }  
  12.     self.window.rootViewController = self.viewController;  
  13.     [self.window makeKeyAndVisible];  
  14.       
  15.     //开始  
  16.     UIImageView *splashView = [[UIImageView alloc] initWithFrame:CGRectMake(0,0, 320, 480)];    
  17.     splashView.image = [UIImage imageNamed:@"Default.png"];    
  18.     [self.window addSubview:splashView];    
  19.     [self.window bringSubviewToFront:splashView];  //放到最顶层;  
  20.     [UIView beginAnimations:nil context:nil];    
  21.     [UIView setAnimationDuration:3.0];    
  22.     [UIView setAnimationTransition:UIViewAnimationTransitionNone forView: self.window cache:YES];    
  23.     [UIView setAnimationDelegate:self];     
  24.     [UIView setAnimationDidStopSelector:@selector(startupAnimationDone:finished:context:)];    
  25.     splashView.alpha = 0.0;    
  26.     splashView.frame = CGRectMake(-60, -85, 440, 635);    
  27.     [UIView commitAnimations];    
  28.     [splashView release];  
  29.     //结束;  
  30.     
  31.     return YES;  
  32. }  

 

方法四:

 

 

 

 

 

 

 

 

 

 

ps:

让Splash启动画面全屏:

1.在<APP>-info.list文件中,加上“Status bar is initially hidden”选项,选择yes
2在程序里面添加 [[UIApplication sharedApplication]setStatusBarHidden:NO withAnimation:UIStatusBarAnimationNone];

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值