IOS 启动页面制作
2017-02-13 17:19
183 查看
本文转载自:http://www.kankanews.com/ICkengine/archives/61306.shtml
如果想程序刚启动时显示启动页(logo页),并且启动页全屏显示,程序加载完成后又显示状态栏,需要做如下三步:
启动页其实只是一张图片而已,如果你的程序需要兼容 iPhone3 和
iPhone4,那么要制作对应分辨率的图片,iPhone3 为 480 * 320,iPhone4 为 960 * 640。分别命名为
Default.png 和
Default@2x.png,然后都放在工程下(可以放到子目录中)。这样程序启动时会默认的去加载。
在-info.plist 文件中加入选项 “Status bar is initially hidden”, 值为
YES
在 AppDelegate.m 文件中的 – (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
方法内加入代码: [[UIApplication
sharedApplication] setStatusBarHidden:NO];
如果还想让启动页保持一定时间以便让用户看清楚启动页的内容(启动页一般显示公司logo等信息),可以在 AppDelegate.m
文件中的 – (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法内加入延时代码:
[NSThread sleepForTimeInterval:2.0];
//这里延时两秒
【注意】
如果你的程序同时使用了导航栏作为根视图控制器 UINavigationController,则应该将语句
[[UIApplication sharedApplication] setStatusBarHidden:NO] 放在
[self.window makeKeyAndVisible]; 之前,否则会出现状态栏与导航栏重叠的情况。可能是因为调用
makeKeyAndVisible 时会去判断当前程序是否显示状态栏,以此来布导航栏的位置。
如下代码会导致导航栏与状态栏重叠:
– (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]] autorelease];
[NSThread sleepForTimeInterval:2.0];
//延时2秒,以便用户看清楚启动页
LoginController *login = [[[LoginController alloc]
initWithNibName:@”LoginController” bundle:nil] autorelease];
self.navController = [[[UINavigationController alloc]
initWithRootViewController:login] autorelease]; //初始化导航栏控制器
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
[[UIApplication sharedApplication] setStatusBarHidden:NO];
//启动完成后显示状态栏,该语句放在 makeKeyAndVisible 之后会导致状态栏与导航栏重叠
return YES;
}
以上代码应该改为:
– (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]] autorelease];
[NSThread sleepForTimeInterval:2.0];
//延时2秒,以便用户看清楚启动页
LoginController *login = [[[LoginController alloc]
initWithNibName:@”LoginController” bundle:nil] autorelease];
self.navController = [[[UINavigationController alloc]
initWithRootViewController:login] autorelease]; //初始化导航栏控制器
self.window.rootViewController = self.navController;
[[UIApplication sharedApplication] setStatusBarHidden:NO];
//启动完成后显示状态栏,该语句应该放在 makeKeyAndVisible 之前
[self.window makeKeyAndVisible];
return YES;
}
【参考】
http://www.cocoachina.com/bbs/read.php?tid=99012&page=1
如果想程序刚启动时显示启动页(logo页),并且启动页全屏显示,程序加载完成后又显示状态栏,需要做如下三步:
启动页其实只是一张图片而已,如果你的程序需要兼容 iPhone3 和
iPhone4,那么要制作对应分辨率的图片,iPhone3 为 480 * 320,iPhone4 为 960 * 640。分别命名为
Default.png 和
Default@2x.png,然后都放在工程下(可以放到子目录中)。这样程序启动时会默认的去加载。
在-info.plist 文件中加入选项 “Status bar is initially hidden”, 值为
YES
在 AppDelegate.m 文件中的 – (BOOL)application:(UIApplication
*)application didFinishLaunchingWithOptions:(NSDictionary
*)launchOptions
方法内加入代码: [[UIApplication
sharedApplication] setStatusBarHidden:NO];
如果还想让启动页保持一定时间以便让用户看清楚启动页的内容(启动页一般显示公司logo等信息),可以在 AppDelegate.m
文件中的 – (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
方法内加入延时代码:
[NSThread sleepForTimeInterval:2.0];
//这里延时两秒
【注意】
如果你的程序同时使用了导航栏作为根视图控制器 UINavigationController,则应该将语句
[[UIApplication sharedApplication] setStatusBarHidden:NO] 放在
[self.window makeKeyAndVisible]; 之前,否则会出现状态栏与导航栏重叠的情况。可能是因为调用
makeKeyAndVisible 时会去判断当前程序是否显示状态栏,以此来布导航栏的位置。
如下代码会导致导航栏与状态栏重叠:
– (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]] autorelease];
[NSThread sleepForTimeInterval:2.0];
//延时2秒,以便用户看清楚启动页
LoginController *login = [[[LoginController alloc]
initWithNibName:@”LoginController” bundle:nil] autorelease];
self.navController = [[[UINavigationController alloc]
initWithRootViewController:login] autorelease]; //初始化导航栏控制器
self.window.rootViewController = self.navController;
[self.window makeKeyAndVisible];
[[UIApplication sharedApplication] setStatusBarHidden:NO];
//启动完成后显示状态栏,该语句放在 makeKeyAndVisible 之后会导致状态栏与导航栏重叠
return YES;
}
以上代码应该改为:
– (BOOL)application:(UIApplication *)application
didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[[UIWindow alloc] initWithFrame:[[UIScreen
mainScreen] bounds]] autorelease];
[NSThread sleepForTimeInterval:2.0];
//延时2秒,以便用户看清楚启动页
LoginController *login = [[[LoginController alloc]
initWithNibName:@”LoginController” bundle:nil] autorelease];
self.navController = [[[UINavigationController alloc]
initWithRootViewController:login] autorelease]; //初始化导航栏控制器
self.window.rootViewController = self.navController;
[[UIApplication sharedApplication] setStatusBarHidden:NO];
//启动完成后显示状态栏,该语句应该放在 makeKeyAndVisible 之前
[self.window makeKeyAndVisible];
return YES;
}
【参考】
http://www.cocoachina.com/bbs/read.php?tid=99012&page=1
相关文章推荐
- 转 IOS 启动页面制作
- iOS 简单日历制作
- 关于iOS app添加开机启动画面…
- Linux下制作可启动 img/iso 文件
- 制作CDLinux 启动U盘
- 50天iOS挑战(Swift) - 第10天:制作应用启动引导页面
- iOS程序启动画面的制作
- [转]Django 开发环境中html页面加…
- Android 应用中启动其他应用 && 在页面中寻找其他页面的控件
- 启动64位 IIS 32位应用程序的支持
- Windows 8升级计划6月2日正式启动
- Discuz!X 插件制作教程(三) ------ 页面嵌入 & 导航
- [转]HTML页面DIV移动 – 适合…
- 让你酷起来 超详细iPhone主题制作教程
- Oracle 几种启动方式的区别
- 谷歌下周推Google Drive iOS应用程…
- MFC-->制作程序启动界面
- ASP.NET 2.0: 页面中链入的CSS、js文件带中文时需注意
- vs2005入门 之 制作第一个页面及启动运行[视频]
- Web页面上工作流设计器(silverlight/Flex/Javascript/java Workflow&