PublishEditAddImgCollectionCell.swift 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. //
  2. // PublishEditAddImgCollectionCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by Christopher on 2019/6/17.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. // 编辑发布--添加照片のCell(有图)
  8. import UIKit
  9. import RxSwift
  10. class PublishEditAddImgCollectionCell: UICollectionViewCell {
  11. let disposeBag = DisposeBag()
  12. var showImage: UIImage? {
  13. didSet {
  14. if self.showImage != nil {
  15. picImageView.image = self.showImage
  16. }
  17. }
  18. }
  19. var productSearchModel: ProductSearchModel? {
  20. didSet {
  21. picImageView.kf.setImage(with: kURLImage(name: productSearchModel?.img ?? "pic_preload"), placeholder: kImage(name: "pic_preload"))
  22. }
  23. }
  24. typealias DelPicBlock = (_ idxRow:Int?) -> Void
  25. var delPicBlock : DelPicBlock?
  26. class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> PublishEditAddImgCollectionCell {
  27. let ID = "PublishEditAddImgCollectionCell"
  28. collectionView.register(PublishEditAddImgCollectionCell.self, forCellWithReuseIdentifier: ID)
  29. let cell : PublishEditAddImgCollectionCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! PublishEditAddImgCollectionCell
  30. cell.indexPath = indexPath
  31. return cell
  32. }
  33. //MARK: - indexPath
  34. var indexPath: IndexPath?{
  35. didSet {
  36. }
  37. }
  38. //MARK: - 初始化
  39. override init(frame: CGRect) {
  40. super.init(frame: frame)
  41. cornerRadius = 2
  42. masksToBounds = true
  43. setupViews()
  44. setupLayouts()
  45. }
  46. required init?(coder aDecoder: NSCoder) {
  47. fatalError("init(coder:) has not been implemented")
  48. }
  49. //MRAK: - 设置View
  50. private func setupViews() {
  51. addSubview(picImageView)
  52. addSubview(delButton)
  53. }
  54. private func setupLayouts() {
  55. picImageView.snp.makeConstraints { (make) in
  56. make.edges.equalToSuperview()
  57. }
  58. delButton.snp.makeConstraints { (make) in
  59. make.top.right.equalToSuperview()
  60. make.size.equalTo(26)
  61. }
  62. }
  63. private lazy var picImageView: UIImageView = {
  64. let picImageView = UIImageView()
  65. return picImageView
  66. }()
  67. private lazy var delButton: UIButton = {
  68. let delButton = UIButton(type: UIButton.ButtonType.custom)
  69. delButton.setImage(kImage(name: "common_sku_cancel"), for: UIControl.State.normal)
  70. delButton.rx.tap.subscribe(onNext: {
  71. [weak self] (data) in
  72. let idxPath = self?.indexPath
  73. if let delPicBlock = self?.delPicBlock {
  74. delPicBlock(idxPath?.row)
  75. }
  76. }).disposed(by: disposeBag)
  77. return delButton
  78. }()
  79. }