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