fix
杨锴
2024-08-19 d9a2bbdb9595037432c36766489110c4b9229ac0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
//
//  CourseVCOfficalCommentVC.swift
//  XQMuse
//
//  Created by 无故事王国 on 2024/8/15.
//
 
import UIKit
import JQTools
 
class CourseVCOfficalCommentVC: BaseVC {
 
                private var collectionView:UICollectionView!
                private var titleItems = [TitleItem]()
                private var subTitleItems = [TitleItem]()
 
                override func viewDidLoad() {
                                super.viewDidLoad()
 
                                titleItems.append(TitleItem(title: "新手冥想指南", subTitle: "Meditation guide"))
                                titleItems.append(TitleItem(title: "推荐课程", subTitle: "与内心的宁静与喜悦入睡"))
 
                                subTitleItems.append(TitleItem(title: "会员专区",coverImage: "course_1"))
                                subTitleItems.append(TitleItem(title: "免费专区",coverImage: "course_2"))
                                subTitleItems.append(TitleItem(title: "付费专区",coverImage: "course_3"))
                                subTitleItems.append(TitleItem(title: "线下课程",coverImage: "course_4"))
                                subTitleItems.append(TitleItem(title: "疗愈",coverImage: "course_5"))
                                subTitleItems.append(TitleItem(title: "关系",coverImage: "course_6"))
                                subTitleItems.append(TitleItem(title: "财富",coverImage: "course_7"))
                                subTitleItems.append(TitleItem(title: "分类",coverImage: "course_8"))
 
                }
 
                override func setUI() {
                                super.setUI()
                                view.backgroundColor = UIColor(hexString: "#F0F0F0")
                                let layout = UICollectionViewFlowLayout()
                                collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
                                collectionView.delegate = self
                                collectionView.dataSource = self
                                collectionView.contentInset = UIEdgeInsets(top: 0, left: 19, bottom: 0, right: 19)
                                collectionView.register(UINib(nibName: "HomeRelaxBanner_2_CCell", bundle: nil), forCellWithReuseIdentifier: "_HomeRelaxBanner_2_CCell")
                                collectionView.register(UINib(nibName: "CourseOfficalCommendTopCCell", bundle: nil), forCellWithReuseIdentifier: "_CourseOfficalCommendTopCCell")
 
                                collectionView.register(HomeHeaderView_1.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: "header")
                                view.addSubview(collectionView)
                                collectionView.snp.makeConstraints { make in
                                                make.edges.equalToSuperview()
                                }
                }
}
 
extension CourseVCOfficalCommentVC:UICollectionViewDelegate & UICollectionViewDataSource{
 
                func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
                                let vc = CourseDetialVC(courseSytle: .style1)
                                JQ_currentViewController().jq_push(vc: vc)
                }
 
 
                func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
                                if kind == UICollectionView.elementKindSectionHeader{
                                                let headerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "header", for: indexPath) as! HomeHeaderView_1
                                                let m = titleItems[indexPath.section]
                                                headerView.setTitle(m.title, subTitle: m.subTitle)
                                                return headerView
                                }
                                return UICollectionReusableView()
                }
 
                func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
 
                                if indexPath.section == 0{
                                                let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_CourseOfficalCommendTopCCell", for: indexPath) as! CourseOfficalCommendTopCCell
                                                cell.setTitles(subTitleItems)
                                                cell.clickAtClouse { index in
                                                                let vc = CourseMenuVC()
                                                                vc.hidesBottomBarWhenPushed = true
                                                                JQ_currentNavigationController().pushViewController(vc, animated: true)
                                                }
                                                return cell
                                }
 
                                let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_HomeRelaxBanner_2_CCell", for: indexPath) as! HomeRelaxBanner_2_CCell
                                cell.backgroundColor = .jq_randomColor
                                return cell
                }
 
                func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
                                if section == 0{
                                                return 1
                                }
                                return 20
                }
 
                func numberOfSections(in collectionView: UICollectionView) -> Int {
                                return titleItems.count
                }
}
 
extension CourseVCOfficalCommentVC:UICollectionViewDelegateFlowLayout{
                func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
                                if indexPath.section == 0{
 
                                                let h = ceil(subTitleItems.count.double / 4.0) * 101.25 + floor(subTitleItems.count.double / 4.0) * 5 + 208.5
                                                return CGSize(width: JQ_ScreenW, height: h)
                                }
 
                                let w = (JQ_ScreenW - 19 * 2 - 14) / 2
 
                                return CGSize(width: w, height: w * 1.314)
                }
 
                func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
                                return 14
                }
 
                func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
                                return 14
                }
 
                func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, referenceSizeForHeaderInSection section: Int) -> CGSize {
                                return CGSize(width: JQ_ScreenW, height: 80.5)
                }
}