| | |
| | | // |
| | | // GamesDataSourceVC.swift |
| | | // WanPai |
| | | // |
| | | // Created by 无故事王国 on 2023/9/15. |
| | | // |
| | | // |
| | | // GamesDataSourceVC.swift |
| | | // WanPai |
| | | // |
| | | // Created by 无故事王国 on 2023/9/15. |
| | | // |
| | | |
| | | import UIKit |
| | | import SPPageMenu |
| | |
| | | |
| | | class GamesDataSourceVC: BaseVC { |
| | | |
| | | private var pageMenu:SPPageMenu = { |
| | | let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line) |
| | | // 追踪线 |
| | | pageMenu.trackerWidth = 56 |
| | | pageMenu.setTrackerHeight(3, cornerRadius: 1.5) |
| | | pageMenu.tracker.backgroundColor = Def_ThemeColor |
| | | pageMenu.trackerFollowingMode = .always |
| | | pageMenu.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) |
| | | private var pageMenu:SPPageMenu = { |
| | | let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line) |
| | | // 追踪线 |
| | | pageMenu.trackerWidth = 56 |
| | | pageMenu.setTrackerHeight(3, cornerRadius: 1.5) |
| | | pageMenu.tracker.backgroundColor = Def_ThemeColor |
| | | pageMenu.trackerFollowingMode = .always |
| | | pageMenu.contentInset = UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) |
| | | |
| | | // 分割线 |
| | | pageMenu.dividingLine.backgroundColor = .clear |
| | | pageMenu.dividingLineHeight = 1 |
| | | // 分割线 |
| | | pageMenu.dividingLine.backgroundColor = .clear |
| | | pageMenu.dividingLineHeight = 1 |
| | | |
| | | // item |
| | | pageMenu.spacing = 20.0 |
| | | pageMenu.permutationWay = .notScrollEqualWidths |
| | | // pageMenu.setItems(["单机游戏","跨城赛","90°准度赛"], selectedItemIndex: 0) |
| | | pageMenu.setItems(["单机游戏"], selectedItemIndex: 0) |
| | | // item |
| | | pageMenu.spacing = 20.0 |
| | | pageMenu.permutationWay = .notScrollEqualWidths |
| | | // pageMenu.setItems(["单机游戏","跨城赛","90°准度赛"], selectedItemIndex: 0) |
| | | pageMenu.setItems(["单机游戏"], selectedItemIndex: 0) |
| | | |
| | | // 字体 |
| | | pageMenu.selectedItemTitleFont = UIFont.systemFont(ofSize: 14, weight: .semibold) |
| | | pageMenu.unSelectedItemTitleFont = UIFont.systemFont(ofSize: 14,weight: .medium) |
| | | // 颜色 |
| | | pageMenu.selectedItemTitleColor = .black.withAlphaComponent(0.8) |
| | | pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6) |
| | | // 字体 |
| | | pageMenu.selectedItemTitleFont = UIFont.systemFont(ofSize: 14, weight: .semibold) |
| | | pageMenu.unSelectedItemTitleFont = UIFont.systemFont(ofSize: 14,weight: .medium) |
| | | // 颜色 |
| | | pageMenu.selectedItemTitleColor = .black.withAlphaComponent(0.8) |
| | | pageMenu.unSelectedItemTitleColor = .black.withAlphaComponent(0.6) |
| | | |
| | | return pageMenu |
| | | }() |
| | | return pageMenu |
| | | }() |
| | | |
| | | lazy var pageViewController:FFPageViewController = { |
| | | let pageVC = FFPageViewController() |
| | | pageVC.view.backgroundColor = .clear |
| | | pageVC.scrollview.backgroundColor = .clear |
| | | lazy var pageViewController:FFPageViewController = { |
| | | let pageVC = FFPageViewController() |
| | | pageVC.view.backgroundColor = .clear |
| | | pageVC.scrollview.backgroundColor = .clear |
| | | |
| | | pageVC.scrollview.bounces = false |
| | | return pageVC |
| | | }() |
| | | pageVC.scrollview.bounces = false |
| | | return pageVC |
| | | }() |
| | | |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | title = "我的数据" |
| | | override func viewDidLoad() { |
| | | super.viewDidLoad() |
| | | title = "我的数据" |
| | | |
| | | pageMenu.delegate = self |
| | | pageViewController.delegate = self |
| | | } |
| | | pageMenu.delegate = self |
| | | pageViewController.delegate = self |
| | | } |
| | | |
| | | override func setUI() { |
| | | pageMenu.layer.shadowColor = UIColor(hexStr: "#EFEEEE").withAlphaComponent(0.5).cgColor |
| | | pageMenu.layer.shadowOffset = CGSize(width: 0, height: 2) |
| | | pageMenu.layer.shadowOpacity = 1 |
| | | view.addSubview(pageMenu) |
| | | pageMenu.snp.makeConstraints { make in |
| | | make.top.equalTo(view.safeAreaLayoutGuide) |
| | | make.left.right.equalToSuperview() |
| | | make.height.equalTo(45) |
| | | } |
| | | override func setUI() { |
| | | pageMenu.layer.shadowColor = UIColor(hexStr: "#EFEEEE").withAlphaComponent(0.5).cgColor |
| | | pageMenu.layer.shadowOffset = CGSize(width: 0, height: 2) |
| | | pageMenu.layer.shadowOpacity = 1 |
| | | view.addSubview(pageMenu) |
| | | pageMenu.snp.makeConstraints { make in |
| | | make.top.equalTo(view.safeAreaLayoutGuide) |
| | | make.left.right.equalToSuperview() |
| | | make.height.equalTo(45) |
| | | } |
| | | |
| | | view.backgroundColor = .white |
| | | addChild(pageViewController) |
| | | view.insertSubview(pageViewController.view, at: 0) |
| | | pageViewController.didMove(toParent: self) |
| | | view.backgroundColor = .white |
| | | addChild(pageViewController) |
| | | view.insertSubview(pageViewController.view, at: 0) |
| | | pageViewController.didMove(toParent: self) |
| | | |
| | | pageViewController.view.snp.makeConstraints { make in |
| | | make.top.equalTo(pageMenu.snp.bottom) |
| | | make.left.right.bottom.equalToSuperview() |
| | | } |
| | | } |
| | | pageViewController.view.snp.makeConstraints { make in |
| | | make.top.equalTo(pageMenu.snp.bottom) |
| | | make.left.right.bottom.equalToSuperview() |
| | | } |
| | | } |
| | | } |
| | | |
| | | extension GamesDataSourceVC:SPPageMenuDelegate{ |
| | | func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { |
| | | pageViewController.scroll(toPage: index, animation: true) |
| | | } |
| | | func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) { |
| | | pageViewController.scroll(toPage: index, animation: true) |
| | | } |
| | | } |
| | | |
| | | |
| | | extension GamesDataSourceVC:FFPageViewControllerDelegate{ |
| | | |
| | | func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { |
| | | pageMenu.selectedItemIndex = currentPage |
| | | } |
| | | func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) { |
| | | pageMenu.selectedItemIndex = currentPage |
| | | } |
| | | |
| | | func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { |
| | | return 3 |
| | | } |
| | | func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt { |
| | | return 3 |
| | | } |
| | | |
| | | func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { |
| | | let vc = GamesDataSourceSubListVC(type: GamesSubType(rawValue: page)!) |
| | | return vc |
| | | } |
| | | func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController { |
| | | let vc = GamesDataSourceSubListVC(type: GamesSubType(rawValue: page)!) |
| | | return vc |
| | | } |
| | | } |
| | | |