Latest 1.1.0
Homepage https://github.com/AllLuckly/LBLaunchImageAd
License MIT
Platforms ios 8.0, requires ARC
Dependencies SDWebImage, SDWebImage/GIF
Authors ,

Apps Using
Codewake
Carthage compatible
Pod Platform
Pod Version
Pod License

支持pod导入

pod ‘LBLaunchImageAd’,’~> 1.0.9′

如果发现pod search LBLaunchImageAd 搜索出来的不是最新版本,需要在终端执行cd转换文件路径命令退回到desktop,然后执行pod setup命令更新本地spec缓存(可能需要几分钟),然后再搜索就可以了;也可以试下如下方法

rm ~/Library/Caches/CocoaPods/search_index.json

然后再pod search LBLaunchImageAd

本框架将用在奇灵感上线项目中,到时有兴趣的朋友可以下载看看效果

2018/10/21号更新:

1.0.9 适配iPhone XS+++

2018/9/08号更新:

1.0.8修复一些bug~

2018/2/02号更新:

1.0.6增加缓存,如果已经加载过启动图片,那么在没有网络的情况下也会加载,更新后台图片时,第一次加载的是原来已有的图片,下一次加载就是最新的图片了

2018/1/31号更新:

1.0.5修复网络gif图片只展示第一帧的bug,修复iPhone X 点击跳过无效的bug

2017/6/28号更新:

修复bug,修复cocopods版本不同步等问题

2017/4/1号更新:

1.优化封装调用接口

2.优化性能

ps:有什么问题可以留言,好用请star支持

技术交流群:534926022(0.8/人付费) 511040024(0.8/人付费)

iOS开发学习app下载

实现原理介绍

效果图如下:

(LBLaunchImageAd)

本框架依赖SDWebImage

导入#import "NSObject+LBLaunchImage.h"

AppDelegate.mdidFinishLaunchingWithOptions方法中复制如下代码即可

如果需要网络请求得到URL的例子如下

    //举个例子[LBNetWork PostAPI:url Dic:nil Suc:^(NSDictionary *Res)是自己封装的网络请求 
    [NSObject makeLBLaunchImageAdView:^(LBLaunchImageAdView *imgAdView) {
        //设置广告的类型
        imgAdView.getLBlaunchImageAdViewType(LogoAdType);
        //自定义跳过按钮
        imgAdView.skipBtn.backgroundColor = [UIColor lightGrayColor];
        imgAdView.skipBtn.alpha = 0.5;
        [imgAdView.skipBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
        __block LBLaunchImageAdView *adView = imgAdView;
        imgAdView.clickBlock = ^(const clickType type) {
            switch (type) {
                case clickAdType:{
                    NSLog(@"点击广告回调");
                    if (adView.advertUrl.length > 10 && adView.isClickAdView) {
                        LBAdVC *vc = [[LBAdVC alloc]init];
                        vc.url = adView.advertUrl;
                        vc.view.backgroundColor = [UIColor whiteColor];
                        if (self.tabBarController) {
                            [self.window setRootViewController:self.tabBarController];
                        }else{
                            [self setupViewControllers];
                            [self.window setRootViewController:self.tabBarController];
                        }
                        CYLTabBarController *tab = (CYLTabBarController *)_window.rootViewController;
                        UINavigationController *nav = (UINavigationController *)tab.viewControllers[0];
                        vc.hidesBottomBarWhenPushed = YES;
                        [nav pushViewController:vc animated:YES];
                    }

                }
                break;
                case skipAdType:
                    NSLog(@"点击跳过回调");
                    if (self.tabBarController) {
                        [self.window setRootViewController:self.tabBarController];
                    }else{
                        [self setupViewControllers];
                        [self.window setRootViewController:self.tabBarController];
                    }

                break;
                case overtimeAdType:
                    NSLog(@"倒计时完成后的回调");
                    [self.window setRootViewController:self.tabBarController];
                break;
                default:
                break;
            }
        };
        ///网络请求
        [req startWithCompletionBlockWithSuccess:^(__kindof YTKBaseRequest * _Nonnull request) {
        //        NSLog(@"%@",request.responseJSONObject);
            NSDictionary *dic = request.responseJSONObject;
            if (dic) {
                //设置网络启动图片URL
                imgAdView.imgUrl = dic[@"imgURl"];
                //点击响应的url
                imgAdView.advertUrl = dic[@"clickURl"];
                //是否能点击
                imgAdView.isClickAdView = [dic[@"isClick"] boolValue];
            }

        } failure:^(__kindof YTKBaseRequest * _Nonnull request) {

        }];

  }];

如果直接是固定的图片Url

    __weak typeof(self) weakSelf = self;
    [NSObject makeLBLaunchImageAdView:^(LBLaunchImageAdView *imgAdView) {
        //设置广告的类型
        imgAdView.getLBlaunchImageAdViewType(LogoAdType);
        imgAdView.imgUrl = @"http://www.uisheji.com/wp-content/uploads/2013/04/19/app-design-uisheji-ui-icon20121_55.jpg";
        //自定义跳过按钮
        imgAdView.skipBtn.backgroundColor = [UIColor blackColor];
        //各种点击事件的回调
        imgAdView.clickBlock = ^(clickType type){
            switch (type) {
                case clickAdType:{
                    NSLog(@"点击广告回调");
                    TestViewController *vc = [[TestViewController alloc]init];
                    vc.view.backgroundColor = [UIColor whiteColor];
                    [weakSelf.window.rootViewController presentViewController:vc animated:YES completion:^{

                    }];
                }
                    break;
                case skipAdType:
                    NSLog(@"点击跳过回调");
                    break;
                case overtimeAdType:
                    NSLog(@"倒计时完成后的回调");
                    break;
                default:
                    break;
            }
        };

    }];

如果是本地图片


__weak typeof(self) weakSelf = self;
    [NSObject makeLBLaunchImageAdView:^(LBLaunchImageAdView *imgAdView) {
        //设置广告的类型
        imgAdView.getLBlaunchImageAdViewType(LogoAdType);
        //设置本地启动图片
        imgAdView.localAdImgName = @"qidong.gif";
        //自定义跳过按钮
        imgAdView.skipBtn.backgroundColor = [UIColor blackColor];
        //各种点击事件的回调
        imgAdView.clickBlock = ^(clickType type){
            switch (type) {
                case clickAdType:{
                    NSLog(@"点击广告回调");
                    TestViewController *vc = [[TestViewController alloc]init];
                    vc.view.backgroundColor = [UIColor whiteColor];
                    [weakSelf.window.rootViewController presentViewController:vc animated:YES completion:^{

                    }];
                }
                    break;
                case skipAdType:
                    NSLog(@"点击跳过回调");
                    break;
                case overtimeAdType:
                    NSLog(@"倒计时完成后的回调");
                    break;
                default:
                    break;
            }
        };

    }];

Latest podspec

{
    "name": "LBLaunchImageAd",
    "version": "1.1.0",
    "summary": "u8f7bu91cfu7ea7iOSu5f00u53d1u542fu52a8u5e7fu544auff0cu52a8u6001u83b7u53d6u542fu52a8u56feu7247uff0cu652fu6301u534au5c4fu548cu5168u5c4fuff0cu7c7bu4f3cu767eu5ea6sspu5e7fu544au548cu5e7fu70b9u901au7684u5e7fu544au3002u652fu6301u5e7fu544au70b9u51fbu7b49uff0cu96c6u6210u975eu5e38u7684u65b9u4fbfu3002u6b22u8fceu4f7fu7528uff0cu597du7528u8bf7star",
    "homepage": "https://github.com/AllLuckly/LBLaunchImageAd",
    "license": "MIT",
    "authors": {
        "Bison": "[email protected]",
        "u502au65b0u751f": "[email protected]"
    },
    "social_media_url": "https://github.com/AllLuckly",
    "platforms": {
        "ios": "8.0"
    },
    "source": {
        "git": "https://github.com/AllLuckly/LBLaunchImageAd.git",
        "tag": "1.1.0"
    },
    "source_files": "LBLaunchImageAdDemo/LBLaunchImageAdDemo/LBLaunchImageAd/**/*.{h,m}",
    "requires_arc": true,
    "dependencies": {
        "SDWebImage": [],
        "SDWebImage/GIF": []
    }
}

Pin It on Pinterest

Share This