From 63f7ed967433acee3ae8764c7a077e15c29c41f2 Mon Sep 17 00:00:00 2001 From: 杨锴 <841720330@qq.com> Date: 星期三, 06 十一月 2024 21:17:19 +0800 Subject: [PATCH] fix bug --- XQMuse/Root/Course/VC/CourseMenuVC.swift | 79 ++++++++++++++++++++++++++++++--------- 1 files changed, 60 insertions(+), 19 deletions(-) diff --git a/XQMuse/Root/Course/VC/CourseMenuVC.swift b/XQMuse/Root/Course/VC/CourseMenuVC.swift index c3ad658..56a2a8d 100644 --- a/XQMuse/Root/Course/VC/CourseMenuVC.swift +++ b/XQMuse/Root/Course/VC/CourseMenuVC.swift @@ -7,6 +7,7 @@ import UIKit import JQTools +import EmptyDataSet_Swift class CourseMenuVC: BaseVC { @@ -14,16 +15,14 @@ private var collectionView:UICollectionView! private var titleItems = [TitleItem]() private var selectIndex:Int = 0 + private var viewModel = CourseVCOfficalViewModel() override func viewDidLoad() { super.viewDidLoad() title = "全部课程" - - titleItems.append(TitleItem(title: "会员专区")) - titleItems.append(TitleItem(title: "免费专区")) - titleItems.append(TitleItem(title: "付费专区")) - titleItems.append(TitleItem(title: "线下课程")) - titleItems.append(TitleItem(title: "水晶疗愈")) + viewModel.cateId.accept(titleItems[selectIndex].id) + viewModel.configure(collectionView) + viewModel.beginRefresh() } override func setUI() { @@ -49,14 +48,29 @@ collectionView.delegate = self collectionView.dataSource = self collectionView.showsVerticalScrollIndicator = false - collectionView.register(UINib(nibName: "HomeRelaxBanner_2_CCell", bundle: nil), forCellWithReuseIdentifier: "_HomeRelaxBanner_2_CCell") - collectionView.contentInset = UIEdgeInsets(top: 34, left: 21, bottom: 0, right: 21) + collectionView.register(UINib(nibName: "HomeRelaxBanner_2_1_CCell", bundle: nil), forCellWithReuseIdentifier: "_HomeRelaxBanner_2_1_CCell") + collectionView.contentInset = UIEdgeInsets(top: 0, left: 21, bottom: 0, right: 21) view.addSubview(collectionView) collectionView.snp.makeConstraints { make in make.left.equalTo(tableView.snp.right) make.right.equalToSuperview() - make.top.bottom.equalTo(tableView) + make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top).offset(18) + make.bottom.equalTo(tableView) } + + collectionView.emptyDataSetSource = self + collectionView.emptyDataSetDelegate = self +// collectionView.emptyDataSetView { v in +// let v = UIView() +// v.backgroundColor = .red +// +// return +// } + } + + func setTitleItem(_ items:[TitleItem],defaultSelectIndex:Int = 0){ + self.selectIndex = defaultSelectIndex + self.titleItems = items } } @@ -64,6 +78,8 @@ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { selectIndex = indexPath.row + viewModel.cateId.accept(titleItems[selectIndex].id) + viewModel.beginRefresh() tableView.reloadData() } @@ -88,23 +104,26 @@ extension CourseMenuVC:UICollectionViewDelegate & UICollectionViewDataSource{ func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { - if indexPath.row == 0{ - let vc = CourseDetialVC(courseSytle: .style1) - push(vc: vc) - }else{ - let vc = CourseDetialVC(courseSytle: .style2) - push(vc: vc) - } + let model = viewModel.dataSource.value!.list[indexPath.row] + + if model.courseType == .online{ + let vc = CourseDetialVC(courseId: model.id) + push(vc: vc) + }else{ + let vc = CourseDetialOfflineVC(courseId: model.id) + push(vc: vc) + } } func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell - cell.backgroundColor = .jq_randomColor + let model = viewModel.dataSource.value!.list[indexPath.row] + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_1_CCell", for: indexPath) as! HomeRelaxBanner_2_1_CCell + cell.setCourseModel(model) return cell } func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { - return 2 + return viewModel.dataSource.value?.list.count ?? 0 } } @@ -121,3 +140,25 @@ return CGSize(width: w, height: w * 1.313) } } + +extension CourseMenuVC:EmptyDataSetSource{ + func image(forEmptyDataSet scrollView: UIScrollView) -> UIImage? { + return UIImage(named: "icon_empty") + } + + func title(forEmptyDataSet scrollView: UIScrollView) -> NSAttributedString? { + return AttributedStringbuilder.build().add(string: "暂无数据", withFont: .systemFont(ofSize: 12, weight: .medium), withColor: .gray).mutableAttributedString + } + + func verticalOffset(forEmptyDataSet scrollView: UIScrollView) -> CGFloat { + return 300 + } + + func spaceHeight(forEmptyDataSet scrollView: UIScrollView) -> CGFloat { + return 200 + } +} + +extension CourseMenuVC:EmptyDataSetDelegate{ + +} -- Gitblit v1.7.1