92 lines
2.8 KiB
Swift
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]
|
|
}
|
|
|
|
}
|