CNLivePlayerTopNaviView.swift 2.43 KB
//
//  CNLivePlayerTopNaviView.swift
//  metaCode
//
//  Created by zx on 2023/11/24.
//

import Foundation

class CNLivePlayerTopNaviView:UIView{
    
    // MARK: - UI
    /// 阴影背景
    var bgGradientView:CNLiveGradientView?
    /// 时间 横屏显示
    var timeLab:UILabel?
    /// 电量 横屏显示
    var batteryImageView:UILabel?
    /// 电量框 横屏显示
    var batteryFrameImageView:UILabel?
    /// 网络状态 横屏显示
    var netStatusLab:UILabel?
    /// 返回按钮
    var backBtn:UIButton?
    /// 返回按钮图片
    var backImageView:UIImageView = UIImageView()
    /// 标题
    var titleLab:UILabel?

    // MARK: - 属性
    /// 是否是横屏
    var isLandscape:Bool = false

    // MARK: - 回调
    /// 点击返回回调
    var clickBackCallBack:clickBackCallBackBlock?
    
    // MARK: - init
    init() {
        super.init(frame: CGRectZero)
        self.initUI()
        self.isLandscape = false
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func layoutSubviews() {
        super.layoutSubviews()
        self.bgGradientView?.frame = CGRect(x: 0, y: 0, width: self.width, height: self.height)
        self.backBtn?.frame = CGRect(x: self.isLandscape ? KStatusBarHeight : 5, y: self.height-44, width: 44, height: 44)
        self.backImageView.frame = CGRect(x: (self.backBtn!.width-22)/2, y: (self.backBtn!.height-22)/2, width: 22, height: 22)
    }
    // MARK: - initUI
    func initUI(){
        self.bgGradientView = CNLiveGradientView()
        self.bgGradientView?.colors = [UIColor(white: 0, alpha: 0.4),UIColor(white: 0, alpha: 0)]
        self.bgGradientView?.startPoint = CGPoint(x: 0.5, y: 0)
        self.bgGradientView?.endPoint = CGPoint(x: 0.5, y: 1)
        self.bgGradientView?.opacity = 1
        self.addSubview(self.bgGradientView!)
        
        self.backBtn = UIButton(type: .custom)
        self.backBtn?.addTarget(self, action: #selector(backBtnClick), for: .touchUpInside)
        self.addSubview(self.backBtn!)
        
        self.backImageView = UIImageView()
        self.backImageView.clipsToBounds = true
        self.backImageView.contentMode = .scaleAspectFit
        self.backImageView.image = UIImage(named: "DS_player_nav_back")
        self.backBtn?.addSubview(self.backImageView)
        
        
    }

    // MARK: - 触发事件
    @objc func backBtnClick(){
        self.clickBackCallBack!()
    }
}