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];
        }];
    });
上一篇 下一篇

猜你喜欢

热点阅读