From 572899a6a72fb71c0a29ec5774de3b61ddd4bd7e Mon Sep 17 00:00:00 2001
From: 杨锴 <841720330@qq.com>
Date: 星期四, 15 八月 2024 18:59:56 +0800
Subject: [PATCH] UI

---
 XQMuse/Root/Course/CourseVC.swift |  143 ++++++++++++++++++++++++++++++++++++++++++++---
 1 files changed, 134 insertions(+), 9 deletions(-)

diff --git a/XQMuse/Root/Course/CourseVC.swift b/XQMuse/Root/Course/CourseVC.swift
index 5281bff..21f7221 100644
--- a/XQMuse/Root/Course/CourseVC.swift
+++ b/XQMuse/Root/Course/CourseVC.swift
@@ -6,24 +6,149 @@
 //
 
 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 viewDidLoad() {
         super.viewDidLoad()
 
-        // Do any additional setup after loading the view.
     }
     
+				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)
 
-    /*
-    // MARK: - Navigation
+								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)
 
-    // In a storyboard-based application, you will often want to do a little preparation before navigation
-    override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
-        // Get the new view controller using segue.destination.
-        // Pass the selected object to the new view controller.
-    }
-    */
+								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()
+								push(vc: vc)
+				}
+
+				@objc func settingvoiceAction(){
+								let vc = BackgroundVoiceVC()
+								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()
+				}
 }

--
Gitblit v1.7.1