//
|
// CourseVC.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/8/12.
|
//
|
|
import UIKit
|
import SPPageMenu
|
import JQTools
|
import FFPage
|
|
class CourseVC: BaseVC {
|
|
private(set) var pageMenu:SPPageMenu = {
|
let pageMenu = SPPageMenu(frame: .zero, trackerStyle: .line)
|
// 追踪线
|
pageMenu.trackerWidth = 27.5
|
pageMenu.setTrackerHeight(11, cornerRadius:0)
|
pageMenu.trackerFollowingMode = .always
|
pageMenu.contentInset = UIEdgeInsets(top: 0, left: 19.5, bottom: 15, right: 19.5)
|
pageMenu.setItems(["官方推荐","导师专栏"], selectedItemIndex: 0)
|
pageMenu.backgroundColor = UIColor(hexString: "#F0F0F0")
|
pageMenu.tracker.image = UIImage(named: "icon_unline")
|
pageMenu.tracker.backgroundColor = .clear
|
|
// 分割线
|
pageMenu.dividingLine.backgroundColor = .clear
|
pageMenu.dividingLineHeight = 1
|
|
// item
|
pageMenu.spacing = 27.0
|
pageMenu.permutationWay = .scrollAdaptContent
|
|
// 字体
|
pageMenu.selectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 21)
|
pageMenu.unSelectedItemTitleFont = Def_SourceHanSansCN_Regular(fontSize: 16)
|
// 颜色
|
pageMenu.selectedItemTitleColor = UIColor(hexStr: "#252A23")
|
pageMenu.unSelectedItemTitleColor = UIColor(hexStr: "#A1A1A1")
|
return pageMenu
|
}()
|
|
lazy var pageViewController:FFPageViewController = {
|
let pageVC = FFPageViewController()
|
pageVC.view.backgroundColor = .clear
|
pageVC.scrollview.backgroundColor = .clear
|
|
pageVC.scrollview.bounces = false
|
return pageVC
|
}()
|
|
override func viewDidAppear(_ animated: Bool) {
|
super.viewDidAppear(animated)
|
if let meVC = (navigationController?.tabBarController?.viewControllers?.last as? BaseNav)?.viewControllers.first as? MeVC{
|
meVC.needLaunch = true
|
}
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
|
}
|
|
override func setUI() {
|
super.setUI()
|
let titleView = UIView()
|
titleView.frame = CGRect(x: 0, y: 0, width: 100, height: 40)
|
let titleL = UILabel()
|
titleL.font = Def_SourceHanSansCN_Regular(fontSize: 21)
|
titleL.text = "心泉课程"
|
titleL.textAlignment = .center
|
titleL.textColor = UIColor(hexStr: "#252A23")
|
titleL.frame = CGRect(x: 0, y: 0, width: 100, height: 19)
|
|
let subTitleL = UILabel()
|
subTitleL.font = Def_Agenda_Light(fontSize: 8)
|
subTitleL.text = "XIN QUAN"
|
subTitleL.textAlignment = .center
|
subTitleL.textColor = UIColor(hexStr: "#252A23")
|
subTitleL.frame = CGRect(x: 0, y: 20, width: 100, height: 19)
|
|
titleView.addSubview(titleL)
|
titleView.addSubview(subTitleL)
|
|
navigationItem.titleView = titleView
|
|
let search = UIButton(type: .custom)
|
search.setImage(UIImage(named: "btn_search"), for: .normal)
|
search.addTarget(self, action: #selector(searchAction), for: .touchUpInside)
|
search.bounds = CGRect(origin: .zero, size:CGSize(width: 50, height: 30))
|
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: search)
|
|
|
let voices = UIButton(type: .custom)
|
voices.setImage(UIImage(named: "btn_voices"), for: .normal)
|
voices.addTarget(self, action: #selector(settingvoiceAction), for: .touchUpInside)
|
voices.bounds = CGRect(origin: .zero, size:CGSize(width: 50, height: 30))
|
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: voices)
|
|
pageMenu.delegate = self
|
|
view.addSubview(pageMenu)
|
pageMenu.snp.makeConstraints { make in
|
make.left.right.equalToSuperview()
|
make.height.equalTo(73.5)
|
make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top)
|
}
|
view.addSubview(pageViewController.view)
|
pageViewController.view.backgroundColor = .clear
|
pageViewController.delegate = self
|
pageViewController.view.snp.makeConstraints { make in
|
make.top.equalTo(pageMenu.snp.bottom)
|
make.left.right.bottom.equalToSuperview()
|
}
|
|
}
|
|
|
@objc func searchAction(){
|
let vc = SearchVC(serchType: .course)
|
push(vc: vc)
|
}
|
|
@objc func settingvoiceAction(){
|
let vc = BackgroundVoiceVC(isFromFist: false)
|
push(vc: vc)
|
}
|
|
}
|
|
extension CourseVC:SPPageMenuDelegate{
|
func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) {
|
pageViewController.scroll(toPage: index, animation: true)
|
}
|
}
|
|
|
extension CourseVC:FFPageViewControllerDelegate{
|
|
func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) {
|
pageMenu.selectedItemIndex = currentPage
|
}
|
|
func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt {
|
return 2
|
}
|
|
func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController {
|
|
if page == 0{
|
return CourseVCOfficalCommentVC()
|
}
|
|
if page == 1{
|
return CourseVCTeacherSpecialVC()
|
}
|
|
return UIViewController()
|
}
|
}
|