您的位置:首页 > 移动开发 > IOS开发

iOS -- LaunchScreen欢迎界面动画效果

2016-01-14 16:49 549 查看
为什么会出现欢迎界面?

程序在启动的过程中需要消耗一些时间,那么在加载出现主界面之前,会出现短暂的黑屏,这实在是很糟糕的一件事情,会给用户一个非常不好的体验。为了缓解用户等待过程中心理的不适与烦躁,欢迎界面闪亮登场了!

用欢迎界面来替代黑屏的等待,可以有效的掩盖耗时阻塞的后台操作,还能向用户展示有效的信息,是非常好的一种过渡方案。但是有的程序把欢迎界面做成了广告版,浪费了用户更多的时间,让用户觉得厌烦,对程序本身功能也失去了兴趣,这种做法实在是很不明智。

欢迎界面的种类?

欢迎界面种类有很多,大致分为静态和动态两种。

静态的欢迎界面通常比较简洁,一般会放置一张很精美的图片,可能是一张公司或者产品的宣传图,也可能是一张广告图。可以使用LaunchImage和LaunchScreen.storyboard设置静态的欢迎界面

动态的欢迎界面。程序运行起来,欢迎界面之后,会进入AppDelegate,因此我们可以在application:
didFinishLaunchingWithOptions:添加代码完成想要的效果。

方法:

可以直接利用LaunchScreen.xib中得view,在上面添加一个UIImageView显示图片,然后将其加在window上,并显示在最上层。广告图片显示之后,再将view移除掉,显示程序的主界面。

代码如下:

- (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 =
@"http://club.dayoo.com/club_data/upload_photo/rtys/2008/07/21/988/2473.gif"; [imageV
sd_setImageWithURL:[NSURL
URLWithString:str]
placeholderImage:[UIImage
imageNamed:@"default1.jpg"]];

[lunchView addSubview:imageV];

[self.window
bringSubviewToFront:lunchView];

[NSTimer
scheduledTimerWithTimeInterval:6
target:self
selector:@selector(removeLun)
userInfo:nil
repeats:NO];

return
YES;

}

-(void)removeLun {

[lunchView
removeFromSuperview];

}

加载本地的gif图片可以使用SDWebImage这个第三方框架:方法如下

UIImage *image = [UIImage
sd_animatedGIFNamed:@"启动图"];

UIImageView *gifView = [[UIImageView
alloc] initWithFrame:CGRectMake(40,
80, image.size.width, image.size.height)];

gifView.backgroundColor = [UIColor
orangeColor];

gifView.image = image;

[self.view
addSubview:gifView];

存在的问题:

这样写,程序启动时仍会出现一个空白的页面,这个空白页面结束后才会走didFinishLaunchingWithOptions:此方法里的代码。

暂时不知道怎么消除默认空白页。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: