ios 怎么读取ios 设置launchscreenn做动画

IOS欢迎界面Launch Screen动态加载广告,ioslaunch
  当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会停留几秒钟,然后消失。看似很平常的一个小小的欢迎界面,其实还大有讲究。
一、为什么会出现欢迎界面?
  程序在启动的过程中需要消耗一些时间,那么在加载出现主界面之前,会出现短暂的黑屏,这实在是很糟糕的一件事情,会给用户一个非常不好的体验。为了缓解用户等待过程中心理的不适与烦躁,欢迎界面闪亮登场了!
  用欢迎界面来替代黑屏的等待,可以有效的掩盖耗时阻塞的后台操作,还能向用户展示有效的信息,是非常好的一种过渡方案。但是有的程序把欢迎界面做成了广告版,浪费了用户更多的时间,让用户觉得厌烦,对程序本身功能也失去了兴趣,这种做法实在是很不明智。
二、欢迎界面的种类
  欢迎界面种类有很多,大致分为静态和动态两种。
  静态的欢迎界面通常比较简洁,一般会放置一张很精美的图片,可能是一张公司或者产品的宣传图,也可能是一张广告图,给我印象最深的是某聊天软件在生日当天打开,欢迎界面竟然是一张写着你名字的生日祝福的图片,让人感觉很温暖。
  动态的欢迎界面要更加炫酷精美,样式也更加丰富,有的是联网加载的广告,有的像一本很炫的书,可以滑动翻页,有的是一个小小的游戏,有的是美文配着美妙的音乐,还有的可能是一段有趣的动画。
三、欢迎界面使用LaunchImage
  针对IOS7,苹果提供了LaunchImage来实现欢迎界面,开发的时候只需要将设计好对应尺寸的图片拖到对应的状态的位置即可。
  在IOS7,欢迎界面对应的尺寸分别为:
iphone&竖屏&640*960&&640*1136
ipad&竖屏&768**2048
ipad&横屏&28*1536
  IOS8出现之后,苹果推出了LaunchScreen.xib来做欢迎界面,如果还想通过LaunchImage来做欢迎界面,完美适配IOS7和IOS8,应该如何来做呢?
  首先,需要把LaunchScreen.xib删掉,否则IOS8时会自动调用它。然后找到Images.xcassets,点击下面的&+&号,选择New&Launch&Image,然后按照对应的要求放入相应尺寸图片即可,和之前操作完全一样。
四、欢迎界面使用LaunchScreen.xib
  Xcode6/IOS8新添加了许多功能,比如LaunchScreen.xib、Size&Classes等。程序启动的时候,会自动调用LaunchScreen.xib,因此可以在这个xib上添加需要显示的控件,并添加约束,进行显示。
  如上图所示,当前欢迎界面包括中间的大标题,下面的公司信息等,和一张图片。因为上面的控件都是在Any&w和Any&h的情况下添加的约束,所以无论在哪种尺寸的设备上都可以适配。为了保证更完美的效果,xib中得图片我们可以使用Images.xcassets来设置,这样可以在不同设备的时候自动选择相应尺寸的图片,达到更好的效果。
  上面的LaunchScreen.xib是使用Xcode6创建项目自动生成的,如果不想使用自动生成的,也可以换成其他的xib,但是很遗憾,用于做欢迎界面的xib没法与View&Controller连线,因此只能显示静态的事先摆好的界面。换xib可以在下图两个地方进行更换。
五、欢迎界面动态加载广告
  有许多应用程序在打开的时候,欢迎界面会加载一张连网获取的广告图片或者显示一组动画,这样的效果是如何做到的呢?下面给大家介绍一种简单的实现加载广告的方式。
  程序运行起来,欢迎界面之后,会进入AppDelegate,因此我们可以在application:&didFinishLaunchingWithOptions:添加代码完成想要的效果。连网获取图片可以用第三方SDWebImage实现,所以需要先将第三方文件夹导入。因为显示广告的页面是在欢迎界面基础上显示的,因此可以直接利用LaunchScreen.xib中得view,在上面添加一个UIImageView显示图片,然后将其加在window上,并显示在最上层。广告图片显示之后,再将view移除掉,显示程序的主界面。代码如下所示:
#import &AppDelegate.h&
#import &UIImageView+WebCache.h&
@interface AppDelegate ()
@property (strong, nonatomic) UIView *lunchV
@implementation AppDelegate
@synthesize lunchV
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[self.window makeKeyAndVisible];
lunchView = [[NSBundle mainBundle ]loadNibNamed:@&LaunchScreen& owner:nil options:nil][0];
lunchView.frame = CGRectMake(0, 0, self.window.screen.bounds.size.width, self.window.screen.bounds.size.height);
[self.window addSubview:lunchView];
UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 320, 300)];
NSString *str = @&/images/temp/logo.gif&;
[imageV sd_setImageWithURL:[NSURL URLWithString:str] placeholderImage:[UIImage imageNamed:@&default1.jpg&]];
[lunchView addSubview:imageV];
[self.window bringSubviewToFront:lunchView];
[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(removeLun) userInfo:nil repeats:NO];
return YES;
-(void)removeLun
[lunchView removeFromSuperview];
&&相关文章推荐
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:860次
排名:千里之外&>&&>&移动开发&>&iOS&>&IOS使用Launch Screen.storyboard制作广告启动界面
IOS使用Launch Screen.storyboard制作广告启动界面
上传大小:3MB
IOS制作启动广告图,兼容LaunchImage加载启动图和LaunchScreen启动,详细讲解可以查看博客:http://blog.csdn.net/wx_jin/article/details/
综合评分:4.3(3位用户评分)
所需积分:
下载个数:516
审核通过送C币
iOS电子图书大全
创建者:qq_
[资源优选]第十八期:20个热门的SWIFT源码
创建者:nigelyq
【资源优选】第九期:最热门的20个iOS精品源代码
创建者:nigelyq
{%username%}回复{%com_username%}{%time%}\
/*点击出现回复框*/
$(".respond_btn").on("click", function (e) {
$(this).parents(".rightLi").children(".respond_box").show();
e.stopPropagation();
$(".cancel_res").on("click", function (e) {
$(this).parents(".res_b").siblings(".res_area").val("");
$(this).parents(".respond_box").hide();
e.stopPropagation();
/*删除评论*/
$(".del_comment_c").on("click", function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_invalid/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parents(".conLi").remove();
alert(data.msg);
$(".res_btn").click(function (e) {
var q = $("#form1").serializeArray();
console.log(q);
var res_area_r = $.trim($(".res_area_r").val());
if (res_area_r == '') {
$(".res_text").css({color: "red"});
$.post("/index.php/comment/do_comment_reply/", q,
function (data) {
if (data.succ == 1) {
var $target,
evt = e || window.
$target = $(evt.target || evt.srcElement);
var $dd = $target.parents('dd');
var $wrapReply = $dd.find('.respond_box');
console.log($wrapReply);
var mess = $(".res_area_r").val();
var str = str.replace(/{%header%}/g, data.header)
.replace(/{%href%}/g, 'http://' + window.location.host + '/user/' + data.username)
.replace(/{%username%}/g, data.username)
.replace(/{%com_username%}/g, _username)
.replace(/{%time%}/g, data.time)
.replace(/{%id%}/g, data.id)
.replace(/{%mess%}/g, mess);
$dd.after(str);
$(".respond_box").hide();
$(".res_area_r").val("");
$(".res_area").val("");
$wrapReply.hide();
alert(data.msg);
}, "json");
/*删除回复*/
$(".rightLi").on("click",'.del_comment_r', function (e) {
var id = $(e.target).attr("id");
$.getJSON('/index.php/comment/do_comment_del/' + id,
function (data) {
if (data.succ == 1) {
$(e.target).parent().parent().parent().parent().parent().remove();
$(e.target).parents('.res_list').remove()
alert(data.msg);
//填充回复
function KeyP(v) {
$(".res_area_r").val($.trim($(".res_area").val()));
评论共有2条
可以参考,谢谢分享
谢谢分享!
上传者其他资源上传者专辑
Android studio和Eclipse分别生成jar包并混淆jar包的demo
Android的mvp模式+otto消息总线源码
移动开发热门标签
VIP会员动态
前端开发重难点
17年软考最新真题及解析
物联网全栈开发专题
二十大技术领域优质资源
spring mvc+mybatis+mysql+maven+bootstrap 整合实现增删查改简单实例.zip
CSDN&vip年卡&4000万程序员的必选
IOS使用Launch Screen.storyboard制作广告启动界面
会员到期时间:剩余下载个数:
积分不足!
资源所需积分
当前拥有积分
您可以选择
程序员的必选
绿色安全资源
资源所需积分
当前拥有积分
VIP年卡全年1200个资源免积分下载
你当前的下载分为234。
你还不是VIP会员
开通VIP会员权限,免积分下载
你下载资源过于频繁,请输入验证码
你下载资源过于频繁,请输入验证码
您因违反CSDN下载频道规则而被锁定帐户,如有疑问,请联络:!
若举报审核通过,可奖励20下载分
被举报人:
举报的资源分:
请选择类型
资源无法下载
资源无法使用
标题与实际内容不符
含有危害国家安全内容
含有反动色情等内容
含广告内容
版权问题,侵犯个人或公司的版权
*详细原因:IOS欢迎界面Launch Screen动态加载广告
  当我们打开一款应用程序的时候,首先映入眼帘的往往并不是程序的主界面,而是经过精心设计的欢迎界面,这个界面通常会停留几秒钟,然后消失。看似很平常的一个小小的欢迎界面,其实还大有讲究。
一、为什么会出现欢迎界面?
  程序在启动的过程中需要消耗一些时间,那么在加载出现主界面之前,会出现短暂的黑屏,这实在是很糟糕的一件事情,会给用户一个非常不好的体验。为了缓解用户等待过程中心理的不适与烦躁,欢迎界面闪亮登场了!
  用欢迎界面来替代黑屏的等待,可以有效的掩盖耗时阻塞的后台操作,还能向用户展示有效的信息,是非常好的一种过渡方案。但是有的程序把欢迎界面做成了广告版,浪费了用户更多的时间,让用户觉得厌烦,对程序本身功能也失去了兴趣,这种做法实在是很不明智。
二、欢迎界面的种类
  欢迎界面种类有很多,大致分为静态和动态两种。
  静态的欢迎界面通常比较简洁,一般会放置一张很精美的图片,可能是一张公司或者产品的宣传图,也可能是一张广告图,给我印象最深的是某聊天软件在生日当天打开,欢迎界面竟然是一张写着你名字的生日祝福的图片,让人感觉很温暖。
  动态的欢迎界面要更加炫酷精美,样式也更加丰富,有的是联网加载的广告,有的像一本很炫的书,可以滑动翻页,有的是一个小小的游戏,有的是美文配着美妙的音乐,还有的可能是一段有趣的动画。
三、欢迎界面使用LaunchImage
  针对7,苹果提供了LaunchImage来实现欢迎界面,开发的时候只需要将设计好对应尺寸的图片拖到对应的状态的位置即可。
  在IOS7,欢迎界面对应的尺寸分别为:
iphone 竖屏 640*960 640*1136
ipad 竖屏 768*48
ipad 横屏 8*1536
  IOS8出现之后,苹果推出了LaunchScreen.xib来做欢迎界面,如果还想通过LaunchImage来做欢迎界面,完美适配IOS7和IOS8,应该如何来做呢?
  首先,需要把LaunchScreen.xib删掉,否则IOS8时会自动调用它。然后找到Images.xcassets,点击下面的 + 号,选择New Launch Image,然后按照对应的要求放入相应尺寸图片即可,和之前操作完全一样。
四、欢迎界面使用LaunchScreen.xib
  Xcode6/IOS8新添加了许多功能,比如LaunchScreen.xib、Size Classes等。程序启动的时候,会自动调用LaunchScreen.xib,因此可以在这个xib上添加需要显示的控件,并添加约束,进行显示。
  如上图所示,当前欢迎界面包括中间的大标题,下面的公司信息等,和一张图片。因为上面的控件都是在Any w和Any h的情况下添加的约束,所以无论在哪种尺寸的设备上都可以适配。为了保证更完美的效果,xib中得图片我们可以使用Images.xcassets来设置,这样可以在不同设备的时候自动选择相应尺寸的图片,达到更好的效果。
  上面的LaunchScreen.xib是使用Xcode6创建项目自动生成的,如果不想使用自动生成的,也可以换成其他的xib,但是很遗憾,用于做欢迎界面的xib没法与View Controller连线,因此只能显示静态的事先摆好的界面。换xib可以在下图两个地方进行更换。
五、欢迎界面动态加载广告
  有许多应用程序在打开的时候,欢迎界面会加载一张连网获取的广告图片或者显示一组动画,这样的效果是如何做到的呢?下面给大家介绍一种简单的实现加载广告的方式。
  程序运行起来,欢迎界面之后,会进入AppDelegate,因此我们可以在application: didFinishLaunchingWithOptions:添加代码完成想要的效果。连网获取图片可以用第三方SDWebImage实现,所以需要先将第三方文件夹导入。因为显示广告的页面是在欢迎界面基础上显示的,因此可以直接利用LaunchScreen.xib中得view,在上面添加一个UIImageView显示图片,然后将其加在window上,并显示在最上层。广告图片显示之后,再将view移除掉,显示程序的主界面。代码如下所示:
#import &AppDelegate.h& #import &UIImageView+WebCache.h& @interface AppDelegate () @property (strong, nonatomic) UIView *lunchV @end @implementation AppDelegate @synthesize lunchV - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [self.window makeKeyAndVisible]; lunchView = [[NSBundle mainBundle ]loadNibNamed:@&LaunchScreen& owner:nil options:nil][0]; lunchView.frame = CGRectMake(0, 0, self.window.screen.bounds.size.width, self.window.screen.bounds.size.height); [self.window addSubview:lunchView]; UIImageView *imageV = [[UIImageView alloc] initWithFrame:CGRectMake(0, 50, 320, 300)]; NSString *str = @&/images/temp/logo.gif&; [imageV sd_setImageWithURL:[NSURL URLWithString:str] placeholderImage:[UIImage imageNamed:@&default1.jpg&]]; [lunchView addSubview:imageV]; [self.window bringSubviewToFront:lunchView]; [NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(removeLun) userInfo:nil repeats:NO]; return YES; } -(void)removeLun { [lunchView removeFromSuperview]; }IOS使用Launch Screen.storyboard制作广告启动界面
最近项目在做的广告sdk,刚好自己需要去了解这个实现启动图加载广告这个功能,大家应该都了解,之前Xcode 6是LaunchScreen.xib来当作启动视图,不过到了Xcode 7就变成了Launch Screen.storyboard,其实这两个没有多大的区别,以下我就采用Xcode 7提供的LaunchScreen.storyboard 来实现这个功能,现在把自己经验和代码分享出来。
获取Launch Screen.storyboard
通过使用storyborardID去获取启动视图viewcontroller
获取启动viewController的视图view
之后把视图view添加到window中
最后就是新建一个图片贴在视图view中
做个定时触发处理
废话不多说啦,直接贴代码出来:
AppDelegate.m中的代码
UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"Launch Screen" bundle:nil];
UIViewController *viewController = [storyboard instantiateViewControllerWithIdentifier:@"LaunchScreen"];
self.view = viewController.view;
[self.window addSubview:self.view];
self.launchView = [[UIImageView alloc] initWithFrame:self.window.frame];
[self.launchView setImage:[UIImage imageNamed:@"launch.jpg"]];
[self.view addSubview:self.launchView];
[self.window bringSubviewToFront:self.launchView];
[NSTimer scheduledTimerWithTimeInterval:3 target:self selector:@selector(colseLaunchScreen) userInfo:nil repeats:NO];
- (void)colseLaunchScreen {
if (self.launchView) {
[self.launchView removeFromSuperview];
self.launchView = nil;
if (self.view) {
[self.view removeFromSuperview];
self.view = nil;
这边也可以结合LaunchImage使用,方式也是差不多,这边就不多讲了
注意有个坑已填平了:之前我用的xcode项目中General中Main Interface 启动项目初始化的主界面storyboard,用以上方法一直看不到加载的广告,后面使用在AppDelegate代码方式去加载storyboard,就可以加载出来了,目前不清楚这个是什么问题,待研究发现,如有发现朋友,方便留言告知下,谢啦(后面经过友友们的指出,发现如果不是用代码加载storyboard,那General-&Main Interface-&的main.storyboard加载会新建window,跟你之前传入的window不是同一个,这个之前的就被覆盖了,导致看不到广告效果,之后我修改了方案,把window改成用window中viewController中view这要就避免代码加载stroyboard了)
这里注意一下,上面这个使用storyboard启动适用ios8.0以上,但现在应用差不多都是ios7.0起,开发者为了方便适配,大多都采用launchImage启动,这种也可以使用storyboard去获取广告,完全没有问题,但在加载初始化广告肯定会消耗一点点时间这要就会出现短暂storyboard的默认页面,这个可以通过把获取rootview先隐藏,等加载完毕广告再显示出来!这要问题解决了!
如果先获取launchImage的图片可以采用Cherpak Evgeny 分享在stackflow上的一个直接读取NSBundle中的设置 即可获取当前适用的LaunchImage的办法,代码我也贴出来:
CGSize viewSize =self.window.bounds.
NSString *viewOrientation =@"Portrait";//横屏请设置成 @"Landscape"
NSString *launchImage =nil;
NSArray *imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
for(NSDictionary* dict in imagesDict) {
CGSize imageSize =CGSizeFromString(dict[@"UILaunchImageSize"]);
if(CGSizeEqualToSize(imageSize, viewSize) && [viewOrientation isEqualToString:dict[@"UILaunchImageOrientation"]]) {
launchImage = dict[@"UILaunchImageName"];
UIImageView *launchView = [[UIImageView alloc] initWithImage:[UIImageimageNamed:launchImage]];
launchView.frame=self.window.
launchView.contentMode=UIViewContentModeScaleAspectF
[self.window addSubview:launchView];
[UIView animateWithDuration:2.0f delay:0.0f options:UIViewAnimationOptionBeginFromCurrentState
animations:^{
launchView.alpha=0.0f;
launchView.layer.transform=CATransform3DScale(CATransform3DIdentity,1.2,1.2,1);
completion:^(BOOL finished) {
[launchView removeFromSuperview];
以上如果有错误之处或者需要指导帮忙,可以到我博客留言
私家博客:
本文已收录于以下专栏:
相关文章推荐
前几天写了写东西的时候,做了一个启动页+启动页广告(我用的webview加载的Gif,静态图片自己换咯)+引导页
喜欢朋友star一下哦
Github地址:(稍后更新)
然后开始吧,利用xcode6 和iOS8 创建了一个SingleViewApplication。
点击左侧项目中的Image.xcassets
选中Image.xcassets
程序员升职加薪指南!还缺一个“证”!
CSDN出品,立即查看!
除了为iphone6+准备launch image之外,还要为iphone4~5s准备两张launch image,分别是640* 960 和 640*1136
#ifndef MacroDefinition_h
#define MacroDefinition_h
//-------------------获取设备大小-------------------...
函数生成并返回一个 UIApplication
AppDelegate
UIApplication
的实例是一个 application
以前的项目现在想要修改下启动图,有意尝试最新的LaunchScreen.storyboard功能 测试一下启动图 效果 不错
直接上图:有点经验的就会用。
设置LaunchScreen.storyboard后,运行时显示老的图片
右键选中Main.storyboard —-
Move to Trash
LaunchScreen同理
点击工程名,就是最...
如果我们用低版本的Xcode打开高版本的Xcode创建的带有Main.storyboard或者LaunchScreen.stroyboard的项目时会出现这种错误,如下图
一、解决办法是在工程中...
ios 删除Main.storyboard和 Launch.storyboard
删除Main.storyboard 和LaunchScreen.storyboard
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)}

我要回帖

更多关于 ios launchscreen黑屏 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信