123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108 |
- import UIKit
- import RxSwift
- import Kingfisher
- class PublishEditAddImgCollectionCell: UICollectionViewCell {
-
- let disposeBag = DisposeBag()
-
- var mediaType : PublishMediaType? {
- didSet {
- if mediaType == .video {
- delButton.isHidden = true
- }else {
- delButton.isHidden = false
- }
- }
- }
-
- var showImage: UIImage? {
- didSet {
- if self.showImage != nil {
- picImageView.image = self.showImage
- }
- }
- }
-
- var productSearchModel: ProductSearchModel? {
- didSet {
- picImageView.kf.setImage(with: kURLThumbnailsImage(name: productSearchModel?.img ?? "default_pic", size: self.size), placeholder: kImage(name: "default_pic"))
- KingfisherManager.shared.cache.clearMemoryCache()
- }
- }
-
- typealias DelPicBlock = (_ idxRow:Int?) -> Void
- var delPicBlock : DelPicBlock?
-
- class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> PublishEditAddImgCollectionCell {
- let ID = "PublishEditAddImgCollectionCell"
- collectionView.register(PublishEditAddImgCollectionCell.self, forCellWithReuseIdentifier: ID)
- let cell : PublishEditAddImgCollectionCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! PublishEditAddImgCollectionCell
- cell.indexPath = indexPath
- return cell
- }
-
- var indexPath: IndexPath?{
- didSet {
-
- }
- }
-
- override init(frame: CGRect) {
- super.init(frame: frame)
- cornerRadius = 2
- masksToBounds = true
- setupViews()
- setupLayouts()
- }
-
- required init?(coder aDecoder: NSCoder) {
- fatalError("init(coder:) has not been implemented")
- }
-
-
- private func setupViews() {
- addSubview(picImageView)
- addSubview(delButton)
- }
-
- private func setupLayouts() {
- picImageView.snp.makeConstraints { (make) in
- make.edges.equalToSuperview()
- }
- delButton.snp.makeConstraints { (make) in
- make.top.right.equalToSuperview()
- make.size.equalTo(26)
- }
- }
-
- private lazy var picImageView: UIImageView = {
- let picImageView = UIImageView()
- picImageView.contentMode = .scaleAspectFill
- return picImageView
- }()
-
- private lazy var delButton: UIButton = {
- let delButton = UIButton(type: UIButton.ButtonType.custom)
- delButton.setImage(kImage(name: "common_sku_cancel"), for: UIControl.State.normal)
- delButton.rx.tap.subscribe(onNext: {
- [weak self] (data) in
- let idxPath = self?.indexPath
- if let delPicBlock = self?.delPicBlock {
- delPicBlock(idxPath?.row)
- }
- }).disposed(by: disposeBag)
- return delButton
- }()
-
- }
|