App启动广告设计
2016-06-01 本文已影响226人
翻炒吧蛋滚饭
前言
现在很多App都有启动广告页,或是启动的时候,会做一个小动画什么的,尤其是类似网易新闻、邮箱大师、百度云这类的,屏幕下方的logo是固定不动的,这样既展示了广告,又不会让人有全屏广告的厌恶感。
实现
实现很简单,也就是广告下面的logo其实就是app的启动图,然后上面的广告是一张单独的图。要实现广告图,要抓住两个重点:1、获取app的启动图;2、启动App从网络获取广告图,为下次启动App做准备,去除每次启动后从网络获取广告图的等待过程。
1、获取App的启动图
UIImage *adImage;
if (ZHScreenHeight == 568) {
adImage.image = [UIImage imageNamed:@"LaunchImage-700-568h"];
} else if (ZHScreenHeight == 667) {
adImage.image = [UIImage imageNamed:@"LaunchImage-800-667h"];
} else if (ZHScreenHeight == 736) {
adImage.image = [UIImage imageNamed:@"LaunchImage-800-Portrait-736h"];
} else {
adImage.image = [UIImage imageNamed:@"LaunchImage-700"];
}
系统已经把启动图的名称都存储了,用户可以直接去按名称获取使用。
NSArray* imagesDict = [[[NSBundle mainBundle] infoDictionary] valueForKey:@"UILaunchImages"];
这句话就获取到了app的启动图,打印这个数组,里面存的就是启动图的一些信息。
2、启动图结束后加载广告图
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
}
在以上方法中将我们的广告图加进去就行了
UIView *adView;
adView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
adView.backgroundColor = [UIColor whiteColor];
// 将广告页面的背景设置为app启动图
adView.image = adImage;
/** 这里可以将广告图片放在logo的上方 */
[[[UIApplication sharedApplication] keyWindow] addSubview:adView];
// 停留一段时间后进行移除广告图
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[UIView animateWithDuration:0.3 animations:^{
adView.alpha = 0;
} completion:^(BOOL finished) {
[adView removeFromSuperview];
}];
});