//
|
// CourseOfficalCommendTopCCell.swift
|
// XQMuse
|
//
|
// Created by 无故事王国 on 2024/8/15.
|
//
|
|
import UIKit
|
import JQTools
|
|
class CourseOfficalCommendTopCCell: UICollectionViewCell {
|
|
@IBOutlet weak var view_bannerContentView: CommonBannerView!
|
@IBOutlet weak var collectionView: UICollectionView!
|
@IBOutlet weak var cons_hei: NSLayoutConstraint!
|
private var titleItems = [TitleItem]()
|
private var bannerModels = [CommonBannerModel]()
|
private var clouse:((Int)->Void)?
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
|
collectionView.delegate = self
|
collectionView.dataSource = self
|
collectionView.isScrollEnabled = false
|
collectionView.register(UINib(nibName: "CourseOfficialItemCCell", bundle: nil), forCellWithReuseIdentifier: "_CourseOfficialItemCCell")
|
}
|
|
func setTitles(_ items:[TitleItem]){
|
titleItems = items
|
cons_hei.constant = ceil(Double(items.count) / 4) * 103.75
|
collectionView.reloadData()
|
}
|
|
func setBanners(_ items:[CommonBannerModel]){
|
bannerModels = items
|
view_bannerContentView.setItems(items: items) { m in
|
if let id = m.courseId?.int{
|
let courseDetialVC = CourseDetialVC(courseId: id)
|
courseDetialVC.hidesBottomBarWhenPushed = true
|
JQ_currentNavigationController().pushViewController(courseDetialVC)
|
}
|
}
|
}
|
|
func clickAtClouse(_ clouse:@escaping (Int)->Void){
|
self.clouse = clouse
|
}
|
}
|
|
extension CourseOfficalCommendTopCCell:UICollectionViewDelegate & UICollectionViewDataSource{
|
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
|
return titleItems.count
|
}
|
|
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
|
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "_CourseOfficialItemCCell", for: indexPath) as! CourseOfficialItemCCell
|
cell.setItem(titleItems[indexPath.row])
|
return cell
|
}
|
|
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
|
clouse?(indexPath.row)
|
}
|
}
|
|
extension CourseOfficalCommendTopCCell:UICollectionViewDelegateFlowLayout{
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
|
let w = JQ_ScreenW / 4
|
return CGSize(width: w, height: 101.25)
|
}
|
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
|
return 5
|
}
|
func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
|
return 0
|
}
|
}
|