// // SPCollectionViewCell.swift // ShortPlay // // Created by 曾觉新 on 2025/4/9. // import UIKit class SPCollectionViewCell: UICollectionViewCell { override init(frame: CGRect) { super.init(frame: frame) self.layer.rasterizationScale = UIScreen.main.scale self.layer.shouldRasterize = true } required init?(coder: NSCoder) { super.init(coder: coder) } } extension UICollectionViewCell { // MARK: - 注册 public static func registerCell(collectionView: UICollectionView, _ reuseIdentifier: String = "reuseIdentifier") { let reuseIdentifier = reuseIdentifier == "reuseIdentifier" ? NSStringFromClass(self) : reuseIdentifier collectionView.register(self, forCellWithReuseIdentifier: reuseIdentifier) } public static func registerNibCell(collectionView: UICollectionView, _ reuseIdentifier: String = "reuseIdentifier") { let reuseIdentifier = reuseIdentifier == "reuseIdentifier" ? NSStringFromClass(self) : reuseIdentifier collectionView.register(UINib(nibName: "\(self)", bundle: nil), forCellWithReuseIdentifier: reuseIdentifier) } // MARK: - 复用取值 public static func dequeueReusableCell(collectionView: UICollectionView, indexPath: IndexPath , _ reuseIdentifier: String = "reuseIdentifier") -> Self{ let reuseIdentifier = reuseIdentifier == "reuseIdentifier" ? NSStringFromClass(self) : reuseIdentifier return collectionView.dequeueReusableCell(withReuseIdentifier: reuseIdentifier, for: indexPath) as! Self } }