WallPaperHome722/WallpaperHD_Live/Mine/C/WP_CollectionVC.swift
2024-07-23 11:43:02 +08:00

99 lines
3.3 KiB
Swift

//
// WP_CollectionVC.swift
// WallpaperHD_Live
//
// Created by 16 on 2024/7/22.
//
import UIKit
class WP_CollectionVC: WP_RootVC {
@IBOutlet weak var dataView: UIView!
@IBOutlet weak var collectionView: UICollectionView!
var model = [WP_4KModel]()
var modeltype = [WallpaperData]()
override func viewDidLoad() {
super.viewDidLoad()
setCollectionView()
}
func setCollectionView(){
collectionView.delegate = self
collectionView.dataSource = self
// collection view
let layout = CustomCollectionViewFlowLayout()
collectionView.collectionViewLayout = layout
layout.scrollDirection = .vertical
collectionView.register(UINib(nibName: "WP_WallpaperCollectionCell", bundle: nil), forCellWithReuseIdentifier: "WP_WallpaperCollectionCell")
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
navigationController?.navigationBar.isHidden = true
self.model = sc4kManager.shared.history
self.modeltype = scjpgManager.shared.history
if self.model.count + self.modeltype.count == 0{
self.dataView.isHidden = false
}else{
self.dataView.isHidden = true
}
}
@IBAction func back(_ sender: Any) {
self.navigationController?.popViewController(animated: true)
}
}
extension WP_CollectionVC:UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout{
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return self.model.count + self.modeltype.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "WP_WallpaperCollectionCell", for: indexPath)as!WP_WallpaperCollectionCell
// if
if indexPath.item < self.model.count {
cell.model = self.model[indexPath.item]
}else{
let newIndex = indexPath.item - self.model.count
if newIndex < self.modeltype.count {
let model = self.modeltype[newIndex]
if let imageURL = URL(string: model.source ?? "") {
// wpImagV.sd_setImage(with: imageURL, completed: nil)
cell.wpImagV.sd_setImage(with: imageURL, placeholderImage: UIImage(named: "Rectangle"))
}
}
}
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
let vc = WP_WallPaPerDetailsVC()
if indexPath.item < self.model.count {
vc.model = self.model[indexPath.item]
vc.type = 1
navigationController?.pushViewController(vc, animated: true)
}else{
let newIndex = indexPath.item - self.model.count
if newIndex < self.modeltype.count {
vc.type = 2
vc.modeltype = self.modeltype[newIndex]
navigationController?.pushViewController(vc, animated: true)
}
}
}
}