// // 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) } } }