// // VipRightsVC.swift // QuickLocation // // Created by 八条 on 2026/6/4. // import UIKit import RxSwift import RxCocoa class VipRightsVC: BaseViewController { override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view. setupUI() setupRx() } private func setupRx() { backBtn.rx.tap.subscribe(onNext: { _ in AppRouter.shared.popOrDismiss() }).disposed(by: disposeBag) } private func setupUI() { view.addSubview(bgImgView) view.addSubview(scrollView) view.addSubview(headerBgImg) view.addSubview(scrollView) scrollView.addSubview(scrollContentView) scrollContentView.addSubview(logoImg) scrollContentView.addSubview(detailImg) view.addSubview(navBarView) navBarView.addSubview(navTitleLabel) navBarView.addSubview(backBtn) navBarView.layoutChain .edges(excludingEdge: .bottom) .height(kNaviHeight) navTitleLabel.layoutChain .top(kStatusBarHeight + 12) .centerY(backBtn) .centerX() backBtn.layoutChain .centerY(navTitleLabel) .left(15) .width(24) .height(24) bgImgView.layoutChain.edges() headerBgImg.layoutChain .edges(excludingEdge: .bottom) .heightToWidth(233/375) scrollView.layoutChain .topToBottomOfView(navBarView) .edges(excludingEdge: .top) scrollContentView.layoutChain .edges() .widthToView(scrollView) logoImg.layoutChain .top() .left(9) .width(337).height(126) detailImg.layoutChain .topToBottomOfView(logoImg, offset: 40) .edgesHorzontal(15) .bottom(kSafeBottomMargin + 34) .heightToWidth(1081/345) } lazy var navBarView: UIView = { let view = UIView() view.backgroundColor = .clear return view }() lazy var navTitleLabel: UILabel = { let label = UILabel() label.text = "会员权益" label.font = .systemFont(ofSize: 18, weight: .medium) label.textColor = ThemeManager.shared.color.titleAuxColor label.textAlignment = .center return label }() lazy var backBtn: UIButton = { let btn = UIButton(type: .custom) btn.setImage(UIImage(named: "Common/back"), for: .normal) btn.extendEdgeInsets = UIEdgeInsets(top: 54, left: 15, bottom: 15, right: 100) return btn }() lazy var bgImgView: UIImageView = { let view = UIImageView(image: UIImage(named: "VipRights/bg")) view.contentMode = .scaleAspectFill return view }() lazy var scrollView: UIScrollView = { let view = UIScrollView() view.backgroundColor = .clear view.showsVerticalScrollIndicator = false view.bounces = false return view }() lazy var scrollContentView: UIView = { let view = UIView() view.backgroundColor = .clear return view }() lazy var headerBgImg: UIImageView = { let view = UIImageView(image: UIImage(named: "VipRights/header_bg")) view.contentMode = .scaleAspectFill return view }() lazy var logoImg: UIImageView = { let view = UIImageView(image: UIImage(named: "VipRights/logo")) view.contentMode = .scaleAspectFill return view }() lazy var detailImg: UIImageView = { let view = UIImageView(image: UIImage(named: "VipRights/detail")) view.contentMode = .scaleAspectFill return view }() }