CNLivePlayerTopNaviView.swift
2.43 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
//
// 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!()
}
}