| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- //
- // MOLiveGoBtnView.swift
- // MiMoLive
- //
- // Created by SuperC on 2025/9/25.
- //
- import Foundation
- import UIKit
- @objcMembers
- class MOLiveGoBtnView: UIView{
-
- public var btnClickBlock: (() -> Void)?
-
- override init(frame: CGRect) {
- super.init(frame: frame)
- setupViews()
- }
-
- required init?(coder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
- private lazy var bgImgView: UIImageView = {
- let view = UIImageView()
- view.image = commonGradientBg
- view.contentMode = .scaleAspectFill
- return view
- }()
-
- private lazy var actionBtn: BigBtn = {
- let btn : BigBtn = BigBtn.init(type: .custom)
- btn.addTarget(self, action: #selector(actionClickAction), for: .touchUpInside)
- return btn
- }()
-
- private lazy var liveImg: UIImageView = {
- let view = UIImageView()
- let path = Bundle.main.path(forResource: "icon_live_pk_go", ofType: "webp")
- if let path {
- view.sd_setImage(with: URL(fileURLWithPath: path))
- } else {
- view.isHidden = true
- }
- return view
- }()
-
- private lazy var rightImg: UIImageView = {
- let view = UIImageView()
- view.image = UIImage(named: "v_2_mine_white_right")
- return view
- }()
-
- private lazy var titleLab: UILabel = {
- let titleLab = UILabel()
- titleLab.text = "LIVE"
- titleLab.textColor = .init(hex: "#FFFFFF")
- titleLab.font = .poppinsBoldFont(11)
- titleLab.textAlignment = .center
- return titleLab
- }()
- }
- extension MOLiveGoBtnView{
- @objc
- private func actionClickAction() {
- btnClickBlock?()
- }
- }
- extension MOLiveGoBtnView {
- private func setupViews() {
-
- self.layer.cornerRadius = 8.0
- self.layer.masksToBounds = true
-
- self.addSubview(self.bgImgView)
- self.addSubview(self.liveImg)
- self.addSubview(self.rightImg)
- self.addSubview(self.titleLab)
- self.addSubview(self.actionBtn)
-
- bgImgView.snp.makeConstraints { make in
- make.edges.equalTo(self)
- }
-
- liveImg.snp.makeConstraints { make in
- make.width.height.equalTo(12)
- make.leading.equalToSuperview().offset(6)
- make.centerY.equalToSuperview()
- }
-
- rightImg.snp.makeConstraints { make in
- make.width.height.equalTo(10)
- make.trailing.equalToSuperview().offset(-6)
- make.centerY.equalToSuperview()
- }
-
- titleLab.snp.makeConstraints { make in
- make.leading.equalTo(liveImg.snp.trailing).offset(2)
- make.centerY.equalToSuperview()
- make.trailing.equalTo(rightImg.snp.leading).offset(-2)
- }
-
- actionBtn.snp.makeConstraints { make in
- make.edges.equalToSuperview()
- }
- }
- }
- //import SwiftUI
- //
- //struct MOLiveGoViewPreview: UIViewRepresentable {
- // func makeUIView(context: Context) -> some UIView {
- // let view = UIView()
- // view.backgroundColor = .black
- // let list = MOLiveGoBtnView()
- // view.addSubview(list)
- // list.snp.makeConstraints { make in
- // make.leading.centerY.equalToSuperview()
- // make.height.equalTo(24)
- // make.width.equalTo(65)
- // }
- //
- // return view
- // }
- //
- // func updateUIView(_ uiView: UIViewType, context: Context) { }
- //}
- //
- //#Preview {
- // MOLiveGoViewPreview()
- //}
|