如何为Iphone应用创建启动界面
2012-05-21 14:23
190 查看
原创作品,允许转载,转载时请务必以超链接形式标明文章
原始出处 、作者信息和本声明。否则将追究法律责任。http://hailinan.blog.51cto.com/3272461/868121
本教程介绍了如何为Iphone应用创建启动界面。
在Xcode中新建工程,使用“Single View Application”模版,命名为Splash。不使用storyboard,不使用ARC。
选择工程中的“ViewController.xib”文件,将View的背景色更改为白色,使用Command + Run组合键运行工程,程序启动后你将会先看见一个黑色界面,然后是白色界面。
将下面的图片下载下来,导入到你的工程,更名为Default.png。
再次运行你的工程,你就会发现这张图片成了你的程序的启动界面。是的,就是折磨简单,如果你有足够的好奇心,我会告诉你这背后的机理:系统会在你的程序代码完全地加载进内存之前给用户显示些东西,它默认就是显示名称为Default.png的图像文件。如果你没有提供这个文件,那它就什么也不显示,其实这么说也不对,它显示了黑色——没有光的时候,天就成了黑色。
以上启动界面显示一下就直接进入应用首页了,启动界面的显示时间不受我们控制。程序员的代码控制欲都很强,哈哈,比如我们希望启动界面显示2~3秒后再进入应用 首页,以给我们的应用提供加载数据的时间。这个需求怎么满足呢?
基本的思想就是将启动界面图像放在一个在模式视图里,在应用启动后立即显示这个模式视图,经过一定时间后再使这个模式视图消失。下面就开始实现吧。
Step1:在ViewController.xib文件中新建一个UIView对象,然后在该UIView对象中添加一个UIImageView对象,将该UIImageView对象的image设为Default.png文件。
Step2:在ViewController.m文件中创建一个IBOutlet属性,命名为modalView,将之链接到在上一步中创建的那个UIView对象。
Step3:为ViewController类添加两个方法:showSplash和hideSplash,代码如下:
- (void)showSplash {
UIViewController *modalViewController = [[UIViewController alloc] init];
modalViewController.view = self.modalView;
[self presentModalViewController:modalViewController animated:NO];
[modalViewController release];
// Dismiss the modalView after 3 seconds.
[self performSelector:@selector(hideSplash) withObject:nil afterDelay:3.0f];
}
- (void)hideSplash {
[self dismissModalViewControllerAnimated:NO];
}
代码还是很简单的,不明白的话可以查文档。
Step4:在AppDelegate.m文件中的-application:didFinishLaunchingWithOptions:方法中,return之前加上这么一句:
// Continue showing the splash image.
[self.viewController showSplash];
这是在程序进入首页时立即再继续显示启动界面。好了,启动应用,看看你的成果吧,先是系统会使用Default.png文件来作为启动界面,接着应用启动后,会继续接着再显示该启动界面3秒钟,然后再进入应用首界面。如果你想一直显示启动界面,当某一事件发生后再dismiss掉,那可以在showSplash方法中做个等待循环,当你期望的事件发生后——比如数据如网络加载完毕,你在调用hideSplash方法,dismiss掉启动界面视图。
唯一需要特别注意的是:Default.png的尺寸是320*480,Iphone应用默认都是会显示高为20point的状态栏,因此在Interface Builder中构建modalView时,要注意一下UIImageView要向上偏移20point,具体可以看IB中该对象的尺寸设置。
原始出处 、作者信息和本声明。否则将追究法律责任。http://hailinan.blog.51cto.com/3272461/868121
本教程介绍了如何为Iphone应用创建启动界面。
在Xcode中新建工程,使用“Single View Application”模版,命名为Splash。不使用storyboard,不使用ARC。
选择工程中的“ViewController.xib”文件,将View的背景色更改为白色,使用Command + Run组合键运行工程,程序启动后你将会先看见一个黑色界面,然后是白色界面。
将下面的图片下载下来,导入到你的工程,更名为Default.png。
再次运行你的工程,你就会发现这张图片成了你的程序的启动界面。是的,就是折磨简单,如果你有足够的好奇心,我会告诉你这背后的机理:系统会在你的程序代码完全地加载进内存之前给用户显示些东西,它默认就是显示名称为Default.png的图像文件。如果你没有提供这个文件,那它就什么也不显示,其实这么说也不对,它显示了黑色——没有光的时候,天就成了黑色。
以上启动界面显示一下就直接进入应用首页了,启动界面的显示时间不受我们控制。程序员的代码控制欲都很强,哈哈,比如我们希望启动界面显示2~3秒后再进入应用 首页,以给我们的应用提供加载数据的时间。这个需求怎么满足呢?
基本的思想就是将启动界面图像放在一个在模式视图里,在应用启动后立即显示这个模式视图,经过一定时间后再使这个模式视图消失。下面就开始实现吧。
Step1:在ViewController.xib文件中新建一个UIView对象,然后在该UIView对象中添加一个UIImageView对象,将该UIImageView对象的image设为Default.png文件。
Step2:在ViewController.m文件中创建一个IBOutlet属性,命名为modalView,将之链接到在上一步中创建的那个UIView对象。
Step3:为ViewController类添加两个方法:showSplash和hideSplash,代码如下:
- (void)showSplash {
UIViewController *modalViewController = [[UIViewController alloc] init];
modalViewController.view = self.modalView;
[self presentModalViewController:modalViewController animated:NO];
[modalViewController release];
// Dismiss the modalView after 3 seconds.
[self performSelector:@selector(hideSplash) withObject:nil afterDelay:3.0f];
}
- (void)hideSplash {
[self dismissModalViewControllerAnimated:NO];
}
代码还是很简单的,不明白的话可以查文档。
Step4:在AppDelegate.m文件中的-application:didFinishLaunchingWithOptions:方法中,return之前加上这么一句:
// Continue showing the splash image.
[self.viewController showSplash];
这是在程序进入首页时立即再继续显示启动界面。好了,启动应用,看看你的成果吧,先是系统会使用Default.png文件来作为启动界面,接着应用启动后,会继续接着再显示该启动界面3秒钟,然后再进入应用首界面。如果你想一直显示启动界面,当某一事件发生后再dismiss掉,那可以在showSplash方法中做个等待循环,当你期望的事件发生后——比如数据如网络加载完毕,你在调用hideSplash方法,dismiss掉启动界面视图。
唯一需要特别注意的是:Default.png的尺寸是320*480,Iphone应用默认都是会显示高为20point的状态栏,因此在Interface Builder中构建modalView时,要注意一下UIImageView要向上偏移20point,具体可以看IB中该对象的尺寸设置。
相关文章推荐
- 如何为Iphone应用创建启动界面
- android 如何实现无启动界面和应用图标的
- Android 中如何从一个App启动另外一个App(如启动支付界面、启动地图界面、应用商场下载App等场景)
- [Extjs6]如何使用sencha cmd创建项目及如何启动修改项目创建新的界面
- 根据应用存放的位置,如何动态的启动应用的安装界面。
- [Extjs6]如何使用sencha cmd创建项目及如何启动修改项目创建新的界面
- 如何在android手机上实现app开机自动运行启动(可以打开应用界面)。
- 本文我们将探讨一些技巧教你如何创建iPhone App以及在创建应用时应该避免的一些错误认知
- 创建Android应用启动界面
- 转载:Android开发基础:如何创建启动界面Splash Screen
- WindowsPhone开发如何创建动态启动界面
- 创建Android应用启动界面
- AngularJS如何在同一个界面启动多个ng-app应用模块
- 创建Android应用启动界面
- 如何创建启动界面Splash Screen
- 如何给你的AIR应用创建一个启动屏幕
- 如何给你的AIR应用创建一个启动屏幕
- 从iPhone应用中启动App Store
- Linux启动后如何自由启动、关闭图形界面
- 用OpenStack界面轻松创建虚拟机的你,看得懂虚拟机启动的这24个参数么?