| | |
| | | // |
| | | |
| | | 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() |
| | | } |
| | | } |