iOS启动页广告组件
引言:iOS项目中往往都会用到启动页广告,以下是多年前的一个项目中自定义的广告页
需求分析
- App启动或者从后台进入前台时,首先展示一张从后台获取的图片作为开屏广告
- 广告页3秒后自动移除
- 广告页可以点击跳过
- 广告页可以是全屏覆盖,也可以留出底部位置显示AppIcon
业务逻辑
- 打开App时,系统先展示App的启动页,接着添加一张图片覆盖启动页
- 图片需要从后台获取url后异步加载,因此这个过程期间需要先用一张和启动页一样的背景图片代替
- 广告页图片url如果获取失败,则立即移除广告页
- 检查广告页图片是否本地有缓存,如果有,则加载本地
使用方法
- 下载项目源码ZYFADLaunch
- 将
DACircularProgress
文件夹和ZYFADLaunch
文件夹拖到你的项目中 - 修改源码中
ZYFADLaunchView
的init
方法,将图片url
替换为你的url
- 将
launchImageView
的image
修改为你的启动页图片 - 在APP启动方法中,实例化一个
ZYFADLaunchView
对象,设置广告页底部举例func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { self.window = UIWindow(frame: UIScreen.main.bounds) self.window?.backgroundColor = .white let viewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewController(withIdentifier: "ViewController") as! ViewController self.window?.rootViewController = viewController self.window?.makeKeyAndVisible() let adLaunchView = ZYFADLaunchView(isFirstLaunch: true, frame: UIScreen.main.bounds) { //提供广告页移除后的回调 print("广告页显示结束") } //optional, default 0 adLaunchView.bottomDistance = 200 return true }