MoviaBox/ShortPlay/Class/MyList/Controller/SPMyListViewController.swift
2025-04-19 09:20:15 +08:00

92 lines
2.8 KiB
Swift

//
// SPMyListViewController.swift
// ShortPlay
//
// Created by on 2025/4/18.
//
import UIKit
class SPMyListViewController: SPViewController {
private lazy var titles = ["Follow List".localized, "Play List".localized]
private lazy var viewControllers: [SPViewController] = {
let vc1 = SPCollectListViewController()
let vc2 = SPPlayHistoryViewController()
return [vc1, vc2]
}()
private lazy var pageView: JYPageController = {
let pageView = JYPageController()
pageView.delegate = self
pageView.dataSource = self
pageView.config.indicatorWidth = 20
pageView.config.indicatorHeight = 4
pageView.config.indicatorCornerRadius = 2
pageView.config.indicatorColor = .colorFFFFFF(alpha: 0.9)
pageView.config.selectedTitleColor = .colorFFFFFF(alpha: 0.9)
pageView.config.selectedTitleFont = 16
pageView.config.selectedTitleFontWeight = .medium
pageView.config.normalTitleColor = .color888888()
pageView.config.normalTitleFont = 15
pageView.config.normalTitleFontWeight = .regular
pageView.config.leftPadding = 15
pageView.config.itemsMargin = 40
return pageView
}()
override func viewDidLoad() {
super.viewDidLoad()
_setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
self.navigationController?.setNavigationBarHidden(true, animated: true)
}
}
extension SPMyListViewController {
private func _setupUI() {
addChild(pageView)
view.addSubview(pageView.view)
pageView.view.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
}
//MARK: -------------- JYPageControllerDelegate & JYPageControllerDataSource --------------
extension SPMyListViewController: JYPageControllerDelegate, JYPageControllerDataSource {
func pageController(_ pageController: JYPageController, frameForSegmentedView segmentedView: JYSegmentedView) -> CGRect {
return .init(x: 0, y: kSPStatusbarHeight + 10, width: kSPScreenWidth, height: 35)
}
func pageController(_ pageController: JYPageController, frameForContainerView container: UIScrollView) -> CGRect {
let y = kSPStatusbarHeight + 10 + 35
return .init(x: 0, y: kSPStatusbarHeight + 10 + 35, width: kSPScreenWidth, height: kSPScreenHeight - y - kSPTabBarHeight)
}
func pageController(_ pageController: JYPageController, titleAt index: Int) -> String {
return titles[index]
}
func numberOfChildControllers() -> Int {
return titles.count
}
func childController(atIndex index: Int) -> any JYPageChildContollerProtocol {
return self.viewControllers[index]
}
}