Swift - 集成app启动页广告,切换rootViewController,支持LaunchImage和LaunchScreen.storyboard,支持GIF图片显示,支持视图过渡动画
2017-07-31 13:16
3051 查看
以前的OC项目中使用自定义view做启动页广告,发现存在一些问题:
广告图片之前会先闪出根视图,再出现广告图
首页需要弹出一些视图:如版本更新、弹窗广告、新手引导等,层级太多,逻辑比较复杂
附上GitHub:https://github.com/MQZHot/ZLaunchAdVC
不足之处,欢迎指出错误,欢迎star✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
广告图大小设置
自定义跳过按钮,自定义位置、大小、颜色。。。
支持状态栏颜色设置、显示与隐藏
支持本地图片显示
支持GIF图片显示
###### 状态栏设置
广告图片之前会先闪出根视图,再出现广告图
首页需要弹出一些视图:如版本更新、弹窗广告、新手引导等,层级太多,逻辑比较复杂
swift 集成app启动页广告,切换rootViewController,支持LaunchImage和LaunchScreen.storyboard,支持GIF图片显示,支持视图过渡动画
附上GitHub:https://github.com/MQZHot/ZLaunchAdVC
不足之处,欢迎指出错误,欢迎star✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨✨
功能
圆形进度跳过、倒计时跳过广告图大小设置
自定义跳过按钮,自定义位置、大小、颜色。。。
支持状态栏颜色设置、显示与隐藏
支持本地图片显示
支持GIF图片显示
使用
1.基本使用
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { window = UIWindow.init(frame: UIScreen.main.bounds) window?.backgroundColor = UIColor.white let homeVC = ViewController() let nav = UINavigationController.init(rootViewController: homeVC) if launchOptions != nil { /// 通过推送等启动 window?.rootViewController = nav } else { /// 正常点击icon启动,加载广告 let adVC = ZLaunchAdVC().adBottom(200).transition(.filpFromLeft).configRootVC(nav) request(completion: { (url, duration) in adVC.configNetImage(url: url, duration: duration, adImgViewClick: { let vc = UIViewController() vc.view.backgroundColor = UIColor.yellow homeVC.navigationController?.pushViewController(vc, animated: true) }) }) window?.rootViewController = adVC } window?.makeKeyAndVisible() return true } /// 网络请求 func request(completion: @escaping (_ url: String, _ duration: Int)->()) -> Void { DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2, execute: { let url = "http://chatm-icon.oss-cn-beijing.aliyuncs.com/pic/pic_20170724152928869.gif" let adDuartion = 8 completion(url, adDuartion) }) }
2. 默认显示时间、广告图大小、过渡类型 配置
/// defaultDuration: 未设置广告/广告加载不出来时,VC的显示时间,默认3s /// adViewBottom: 图片距离底部距离,默认100 /// transitionType: 过渡类型,默认fade let adVC = ZLaunchAdVC(defaultDuration: 3, adViewBottom: 100, transitionType: .filpFromLeft, rootVC: nav) /// 或者 let adVC = ZLaunchAdVC().adBottom(200).transition(.filpFromLeft).configEnd({ self.window?.rootViewController = nav })
3. 跳过按钮配置
adVC.configSkipBtn({ (config) in config.backgroundColor = UIColor.red config.centerX = 100 config.centerY = 200 config.skipBtnType = .circle config.strokeColor = UIColor.green })
4. 加载本地图片
4.1 本地图片
adVC.configLocalImage(image: UIImage(named: "222"), duration: 7, adImgViewClick: { let vc = UIViewController() vc.view.backgroundColor = UIColor.yellow homeVC.navigationController?.pushViewController(vc, animated: true) })
4.2 本地GIF
adVC.configLocalGif(name: "111", duration: 7, adImgViewClick: { let vc = UIViewController() vc.view.backgroundColor = UIColor.yellow homeVC.navigationController?.pushViewController(vc, animated: true) })
###### 状态栏设置
相关文章推荐
- iOS LaunchScreen.storyboard UIImageView 图片不显示
- LaunchScreen.storyboard 启动页设置图片不显示 启动页白屏
- [Android]异步加载图片,内存缓存,文件缓存,imageview显示图片时增加淡入淡出动画
- SWT图片显示,支持JPEG,GIF(动画),BMP,ICO,PNG和TIFF
- gif-movie-view, 用于显示GIF动画的Android视图小部件
- EasySwift/YXJCycleView 任意视图的无限循环轮播图,可以是本地图片,可以是任意的view,可以是远程图片,再加文字描述岂不更好,pageController也支持高度自定义。
- 使用LaunchScreen.storyboard后,运行时显示老的图片
- iOS8 以上 启动界面 LaunchScreen.storyboard 图片不显示的问题
- 【Android自定义View实战】之仿去哪儿网App图片按压显示指纹并缩放效果TouchFingerImageView
- 视图ViewController之间的切换及动画设置
- 在imageView依次添加7个手势, 1.点击哪个按钮,往imageView上添加哪个手势.(保证视图上只有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女
- 开发笔记 那些年追过的图片(五):imageView GIF 动画
- 自定义ImageView显示gif图片
- 在imageView依次加入7个手势, 1.点击哪个button,往imageView上加入哪个手势.(保证视图上仅仅有一个手势). 2.轻拍:点击视图切换美女图片.(imageView上首先展示的美女
- SimpleTouchImageView一个支持缩放平移及多点缩放的显示图片的Activity
- 使用imageview显示Gif图片
- Swift:超炫的View Controller切换动画
- LaunchScreen.storyboard 设置图片后不显示(转)
- ViewAnimator 当进行视图切换时显示动画效果
- Swift:超炫的View Controller切换动画