APP启动画面实现方式
一.启动图片 Default.png 在工程中添加名为Default.png的图片,程序在加载完毕之前会显示此图片。在applicationDidFinishLaunching完成之后,画面会被程序自己的vIEw替代。
如果要同时支持iphone4之前的设备(非Retina屏)和iphone4之后的设备(Retina屏),需要放两张不同分辨率的启动图片,用于非Retina屏的Default.png,分辨率320*480;用于Retina屏的Default@2x.png,分辨率640*960。
Default.png图片只能在applicationDIDFinishLaunching完成之前显示,如果在applicationDIDFinishLaunching之后,主视图要从网络获取一些数据才能完全显示时,中间就会出现不完整的主界面视图,为了避免这个问题,可以在主界面获取到数据之前模态显示与Default.png相同的启动画面,直至主界面完全准备好。
AppDelegate.m
- (voID)applicationDIDFinishLaunching:(UIApplication *)application { // OverrIDe point for customization after app launch mainVIEwController = [[MainVIEwController alloc] init]; [window addSubvIEw:mainVIEwController.vIEw]; [window makeKeyAndVisible]; [mainVIEwController showSplash];}- (voID)dealloc { [mainVIEwController release]; [window release]; [super dealloc];}
MainVIEwController.m
-(voID)showSplash{ UIVIEwController *modalVIEwController = [[[UIVIEwController alloc] init]autorelease]; modalVIEwController.modalTransitionStyle = UIModalTransitionStyleCrossdissolve; [self presentModalVIEwController:modalVIEwController animated:NO]; [self performSelector:@selector(hIDeSplash) withObject:nil afterDelay:2.0];}//hIDe splash screen- (voID)hIDeSplash{ [self dismissModalVIEwControllerAnimated:YES];}
在applicationDIDFinishLaunching结束时,显示模态窗口(modalVIEwController),模态窗口中仅有一个启动画面,等待2s钟后(或等待网络数据加载完成时),取消显示模态窗口。
三.首页启动画面 另一种方式是将启动画面作为第一个视图控制器,在网络数据加载完成时再生成主视图控制器显示。
AppDelegate.m
- (voID)applicationDIDFinishLaunching:(UIApplication *)application { // OverrIDe point for customization after app launch firstPageController = [[FirstPageController alloc] init]; [window addSubvIEw:firstPageController.vIEw]; [window makeKeyAndVisible];}- (voID)dealloc { [firstPageController release]; [window release]; [super dealloc];}
FirstPageController.m
-(voID) vIEwDIDLoad{ [super vIEwDIDLoad]; [self loadData];}-(voID) loadData{ //加载数据代码 [self performSelector:@selector(finishLoadData) withObject:nil afterDelay:0.5f];}-(voID) finishLoadData{ MainVIEwController *mainVIEwController = [[MainVIEwController alloc] init]; [self.vIEw.supervIEw addSubvIEw:mainVIEwController.vIEw]; [self.vIEw removeFromSupervIEw];}
FirstPageController中仅显示启动画面,在首页启动画面显示完毕时开始加载网络数据,在网络数据加载完成时,创建主视图控制器MainVIEwController,然后将主视图控制器加入到firstPageController的supervIEw即appDelegate的window中,然后firstPageControll自己的视图从父视图中退出。
参考:
IPHONE TUTORIAL FOR CREATING A SPLASH SCREEN
Automatic orientation support for iPhone and iPad apps
Delay while loading Default.png
以上是内存溢出为你收集整理的APP启动画面实现方式全部内容,希望文章能够帮你解决APP启动画面实现方式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)