ZLaunchAdVC
整合啟動廣告,支援LaunchImage
和LaunchScreen
,支援GIF,支援本地圖片,支援檢視過渡動畫- 使用
viewController
做啟動頁廣告,通過切換rootViewController
,避免閃出首頁控制器,避免處理複雜的層級關係- GitHub: https://github.com/MQZHot/ZLaunchAdVC 不足之處,歡迎交流,歡迎star✨✨✨✨✨✨✨✨✨✨
- 更新: 2017-11-10
功能
- 支援圖片快取
- 支援自定義跳過按鈕
- 支援網路/本地資源,支援GIF圖片顯示
- 支援LaunchImage和LaunchScreen.storyboard.
- 支援狀態列顏色設定、顯示與隱藏
- 支援廣告點選事件
- 支援廣告完成動畫設定
使用
didFinishLaunchingWithOptions
中設定ZLaunchAdVC
為rootViewController
,指定廣告完成後展示的控制器,並配置廣告的引數使用- 每次廣告展示的配置可以統一,也可以通過網路資料配置,如按鈕外觀、圖片大小、完成動畫等
通過推送、DeepLink等啟動時,是否需要展示廣告也可以靈活配置
/// 載入廣告 let adVC = ZLaunchAdVC(waitTime: 4,rootVC: nav) request { model in adVC.configure { button, adView in button.skipBtnType = model.skipBtnType adView.animationType = model.animationType adView.adFrame = CGRect(x: 0, y: 0, width: Z_SCREEN_WIDTH, height: Z_SCREEN_WIDTH*model.height/model.width) }.setImage(model.imgUrl, duration: model.duration, options: .readCache, action: { let vc = UIViewController() vc.view.backgroundColor = UIColor.yellow homeVC.navigationController?.pushViewController(vc, animated: true) }) } window?.rootViewController = adVC複製程式碼
廣告配置
- 通過
configure
方法配置廣告引數,configure
為閉包 - 閉包引數1:跳過按鈕配置
/// 按鈕位置 var frame = CGRect(x: Z_SCREEN_WIDTH - 70,y: 42, width: 60,height: 30) /// 背景顏色 var backgroundColor = UIColor.black.withAlphaComponent(0.4) /// 文字 var text: NSString = "跳過" /// 字型大小 var textFont = UIFont.systemFont(ofSize: 14) /// 字型顏色 var textColor = UIColor.white /// 數字大小 var timeFont = UIFont.systemFont(ofSize: 15) /// 數字顏色 var timeColor = UIColor.red /// 跳過按鈕型別 var skipBtnType: ZLaunchSkipButtonType = .textLeftTimerRight /// 圓形進度顏色 var strokeColor = UIColor.red /// 圓形進度寬度 var lineWidth: CGFloat = 2 /// 圓角 var cornerRadius: CGFloat = 5 /// 邊框顏色 var borderColor: UIColor = UIColor.clear /// 邊框寬度 var borderWidth: CGFloat = 1複製程式碼
- 閉包引數2:配置廣告圖大小-完成動畫
/// 廣告圖大小 var adFrame = CGRect(x: 0, y: 0, width: Z_SCREEN_WIDTH, height: Z_SCREEN_HEIGHT-100) /// 過渡動畫 var animationType: ZLaunchAnimationType = .crossDissolve複製程式碼
載入圖片
載入網路圖片
let url = "http://chatm-icon.oss-cn-beijing.aliyuncs.com/pic/pic_20170724152928869.gif" adVC.setImage(url, duration: 5, options: .readCache, action: { /// do something })複製程式碼
設定本地圖片
adVC.setImage(UIImage(named: "222"), duration: 7, action: { /// do something })複製程式碼
- 設定本地GIF
adVC.setGif("111", duration: 7, action: { /// do something })複製程式碼
依賴
- 使用 SwiftHash進行md5加密
狀態列設定