iOS - Swift快速整合啟動頁廣告,支援GIF,支援本地圖片

MQZHot發表於2018-01-29
  • ZLaunchAdVC整合啟動廣告,支援LaunchImageLaunchScreen,支援GIF,支援本地圖片,支援檢視過渡動畫
  • 使用viewController做啟動頁廣告,通過切換rootViewController,避免閃出首頁控制器,避免處理複雜的層級關係
  • GitHub: https://github.com/MQZHot/ZLaunchAdVC 不足之處,歡迎交流,歡迎star✨✨✨✨✨✨✨✨✨✨
  • 更新: 2017-11-10

功能

  • 支援圖片快取
  • 支援自定義跳過按鈕
  • 支援網路/本地資源,支援GIF圖片顯示
  • 支援LaunchImage和LaunchScreen.storyboard.
  • 支援狀態列顏色設定、顯示與隱藏
  • 支援廣告點選事件
  • 支援廣告完成動畫設定

pic0.gif
pic0.gif

使用

  • didFinishLaunchingWithOptions中設定ZLaunchAdVCrootViewController,指定廣告完成後展示的控制器,並配置廣告的引數使用
  • 每次廣告展示的配置可以統一,也可以通過網路資料配置,如按鈕外觀、圖片大小、完成動畫等
  • 通過推送、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加密

    狀態列設定

狀態列設定.png
狀態列設定.png

相關文章