jsdw_ios/QuickLocation/Section/VipRecharge/VipRightsVC.swift

142 lines
3.8 KiB
Swift

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