MoviaBox/MoviaBox/Class/Wallet/Controller/SPOrderRecordsPageViewController.swift
2025-05-13 13:54:39 +08:00

107 lines
3.5 KiB
Swift

//
// SPOrderRecordsPageViewController.swift
// MoviaBox
//
// Created by on 2025/4/29.
//
import UIKit
class SPOrderRecordsPageViewController: SPViewController {
private lazy var titles: [String] = ["movia_Coin_Record".localized, "movia_VIP_Record".localized]
private lazy var viewControllers: [UIViewController] = {
let vc1 = SPCoinOrderRecordViewController()
let vc2 = SPVIPOrderRecordViewController()
return [vc1, vc2]
}()
//MARK: UI
private lazy var pageView: WMPageController = {
let pageView = WMPageController()
pageView.delegate = self
pageView.dataSource = self
pageView.titleFontName = UIFont.mediumFontName()
pageView.titleSizeNormal = 16
pageView.titleSizeSelected = 16
pageView.titleColorNormal = .colorFFFFFF(alpha: 0.45)
pageView.titleColorSelected = .colorFF3232()
pageView.progressColor = .colorFFFFFF()
pageView.menuViewStyle = .flood
pageView.menuViewLayoutMode = .center
pageView.progressHeight = 36
pageView.menuItemWidth = (kSPScreenWidth - 44) / 2
return pageView
}()
private lazy var menuBgView: UIView = {
let view = UIView()
view.backgroundColor = .color362020()
view.layer.cornerRadius = 16
view.layer.masksToBounds = true
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.title = "movia_order_records".localized
self.edgesForExtendedLayout = .top
_setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(false, animated: true)
setNavigationNormalStyle(backgroundColor: .clear, isTranslucent: true)
}
}
extension SPOrderRecordsPageViewController {
private func _setupUI() {
addChild(self.pageView)
view.addSubview(menuBgView)
view.addSubview(self.pageView.view)
self.pageView.view.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(kSPNavBarHeight)
}
menuBgView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.centerX.equalToSuperview()
make.top.equalToSuperview().offset(kSPNavBarHeight)
make.height.equalTo(48)
}
}
}
//MARK: -------------- WMPageControllerDelegate & WMPageControllerDataSource --------------
extension SPOrderRecordsPageViewController: WMPageControllerDelegate, WMPageControllerDataSource {
func pageController(_ pageController: WMPageController, preferredFrameForContentView contentView: WMScrollView) -> CGRect {
return CGRect(x: 0, y: 48, width: kSPScreenWidth, height: kSPScreenHeight - kSPNavBarHeight - 48)
}
func pageController(_ pageController: WMPageController, preferredFrameFor menuView: WMMenuView) -> CGRect {
return CGRect(x: 0, y: 0, width: kSPScreenWidth, height: 48)
}
func numbersOfChildControllers(in pageController: WMPageController) -> Int {
return self.titles.count
}
func pageController(_ pageController: WMPageController, titleAt index: Int) -> String {
return self.titles[index]
}
func pageController(_ pageController: WMPageController, viewControllerAt index: Int) -> UIViewController {
return viewControllers[index]
}
}