CNLivePlayerVolumeBrightnessView.swift 2.37 KB
//
//  CNLivePlayerVolumeBrightnessView.swift
//  metaCode
//
//  Created by zx on 2023/11/27.
//

import Foundation

class CNLivePlayerVolumeBrightnessView:UIView{
    /**
     进度 0~1
     */
    var _value:CGFloat = 0
    var value:CGFloat{
        get{
            _value
        }
        set{
            _value = newValue
            if (_value > 1) {
                _value = 1
            }else if (_value < 0) {
                _value = 0
            }
            var progressViewFrame = self.progressView?.frame
            progressViewFrame?.size.width = self.totalView!.frame.size.width * _value
            self.progressView?.frame = progressViewFrame!
        }
    }

    var sunImageView:UIImageView?
    var totalView:UIView?
    var progressView:UIView?

    init() {
        super.init(frame: CGRectZero)
        self.backgroundColor = UIColor(white: 0, alpha: 0.6)
        self.layer.cornerRadius = 6
        self.clipsToBounds = true
        self.initUI()
    }
    
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    
    override func layoutSubviews() {
        super.layoutSubviews()
        self.sunImageView?.frame = CGRect(x: 10, y: (self.height-25)/2, width: 25, height: 25)
        self.totalView?.frame = CGRect(x: self.sunImageView!.right+10, y: 0, width: self.width-(self.sunImageView!.right+10*2), height: 2)
        self.totalView?.centerY = self.sunImageView!.centerY
        self.progressView?.frame = CGRect(x: self.totalView!.left, y: self.totalView!.top, width: self.totalView!.width*self.value, height: self.totalView!.height)
    }

    // MARK: - initUI
    func initUI(){
        self.sunImageView = UIImageView()
        self.sunImageView?.clipsToBounds = true
        self.sunImageView?.contentMode = .scaleAspectFit
        self.sunImageView?.image = UIImage(named: "DS_player_sun")
        self.addSubview(self.sunImageView!)
        
        self.totalView = UIView()
        self.totalView?.backgroundColor = UIColor(white: 1, alpha: 0.2)
        self.totalView?.clipsToBounds = true
        self.totalView?.layer.cornerRadius = 1
        self.addSubview(self.totalView!)
        
        self.progressView = UIView()
        self.progressView?.backgroundColor = .white
        self.progressView?.clipsToBounds = true
        self.progressView?.layer.cornerRadius = 1
        self.addSubview(self.progressView!)
    }

}