FeaturedTopicsCollectionViewCell.swift 3.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. //
  2. // FeaturedTopicsCollectionViewCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/6/16.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. //
  8. import UIKit
  9. import Kingfisher
  10. class FeaturedTopicsCollectionViewCell: UICollectionViewCell {
  11. class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> FeaturedTopicsCollectionViewCell {
  12. let ID = "FeaturedTopicsCollectionViewCell"
  13. collectionView.register(FeaturedTopicsCollectionViewCell.self, forCellWithReuseIdentifier: ID)
  14. let cell : FeaturedTopicsCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! FeaturedTopicsCollectionViewCell
  15. cell.indexPath = indexPath
  16. return cell
  17. }
  18. //MARK: - indexPath
  19. var indexPath: IndexPath?{
  20. didSet {
  21. }
  22. }
  23. //MARK: - 初始化
  24. override init(frame: CGRect) {
  25. super.init(frame: frame)
  26. setupViews()
  27. setupLayouts()
  28. }
  29. required init?(coder aDecoder: NSCoder) {
  30. fatalError("init(coder:) has not been implemented")
  31. }
  32. //MRAK: - 设置View
  33. private func setupViews() {
  34. addSubview(picImageView)
  35. addSubview(iconImageView)
  36. addSubview(topicLabel)
  37. addSubview(numberPeopleLable)
  38. }
  39. private func setupLayouts() {
  40. picImageView.snp.makeConstraints { (make) in
  41. make.top.left.right.equalToSuperview()
  42. make.height.equalTo(130)
  43. }
  44. iconImageView.snp.makeConstraints { (make) in
  45. make.left.equalToSuperview()
  46. make.top.equalTo(picImageView.snp.bottom).offset(10)
  47. make.size.equalTo(20)
  48. }
  49. topicLabel.snp.makeConstraints { (make) in
  50. make.centerY.equalTo(iconImageView)
  51. make.left.equalTo(iconImageView.snp.right).offset(2)
  52. make.right.lessThanOrEqualTo(numberPeopleLable.snp.left).offset(-10)
  53. make.height.equalTo(23)
  54. }
  55. numberPeopleLable.snp.makeConstraints { (make) in
  56. make.centerY.equalTo(iconImageView)
  57. make.right.equalToSuperview()
  58. make.height.equalTo(23)
  59. }
  60. }
  61. private lazy var picImageView : UIImageView = {
  62. let picImageView = UIImageView()
  63. picImageView.image = kImage(name: "default_pic")
  64. picImageView.cornerRadius = 4
  65. picImageView.masksToBounds = true
  66. picImageView.contentMode = .scaleAspectFill
  67. return picImageView
  68. }()
  69. private lazy var iconImageView : UIImageView = {
  70. let iconImageView = UIImageView()
  71. iconImageView.image = kImage(name: "edit_ico_topic_pre")
  72. return iconImageView
  73. }()
  74. private lazy var topicLabel: UILabel = {
  75. let topicLabel = UILabel()
  76. topicLabel.text = "吃出你的好身材"
  77. topicLabel.textColor = k333333Color
  78. topicLabel.font = kMediumFont16
  79. return topicLabel
  80. }()
  81. private lazy var numberPeopleLable: UILabel = {
  82. let numberPeopleLable = UILabel()
  83. numberPeopleLable.text = "0人参与"
  84. numberPeopleLable.textColor = k999999Color
  85. numberPeopleLable.font = kRegularFont12
  86. return numberPeopleLable
  87. }()
  88. var communityRecommendTypeDataModel : CommunityRecommendTypeDataModel? {
  89. didSet {
  90. picImageView.kf.setImage(with: kURLThumbnailsImage(name: communityRecommendTypeDataModel?.img ?? "",size: CGSize(width: self.width, height: 130)), placeholder: kImage(name: "default_pic"))
  91. topicLabel.text = communityRecommendTypeDataModel?.name
  92. numberPeopleLable.text = "\(communityRecommendTypeDataModel?.followCount ?? "0")人参与"
  93. }
  94. }
  95. }