74 lines
1.6 KiB
Swift
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)
|
|
}
|
|
|
|
}
|
|
|
|
}
|