MoviaBox/Thimra/Class/Mine/View/SPMineMemberView.swift
2025-04-25 18:02:50 +08:00

74 lines
1.6 KiB
Swift

//
// SPMineMemberView.swift
// Thimra
//
// Created by on 2025/4/25.
//
import UIKit
class SPMineMemberView: UIView {
override var intrinsicContentSize: CGSize {
let width = kSPScreenWidth - 32
return CGSize(width: width, height: width * bgRatio)
}
///
var bgRatio: CGFloat {
let imageSize = bgImageView.image?.size ?? .zero
if imageSize == .zero {
return 1
} else {
return imageSize.height / imageSize.width
}
}
//MARK: UI
private lazy var bgImageView: UIImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "member_bg_image_01")
return imageView
}()
private lazy var noView: SPMineMemberNoView = {
let view = SPMineMemberNoView()
return view
}()
override init(frame: CGRect) {
super.init(frame: frame)
_setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension SPMineMemberView {
private func _setupUI() {
addSubview(bgImageView)
addSubview(noView)
let width = kSPScreenWidth - 32
bgImageView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.equalToSuperview().offset(16)
make.centerX.equalToSuperview()
make.height.equalTo(width * bgRatio)
}
noView.snp.makeConstraints { make in
make.edges.equalTo(bgImageView)
}
}
}