PublishTopicItemCell.swift 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. //
  2. // PublishTopicItemCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by Christopher on 2019/6/17.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. //
  8. import UIKit
  9. class PublishTopicItemCell: UITableViewCell {
  10. var subTopicModel: CommunityTopicDataModel? {
  11. didSet {
  12. titleLabel.text = self.subTopicModel?.name
  13. joinLabel.text = "\(self.subTopicModel?.followCount ?? 0)人参与"
  14. }
  15. }
  16. var isChoosed: Bool? {
  17. didSet {
  18. selImageView.isHidden = !(self.isChoosed ?? false)
  19. }
  20. }
  21. class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishTopicItemCell {
  22. let ID = "PublishTopicItemCell"
  23. tableView.register(PublishTopicItemCell.self, forCellReuseIdentifier: ID)
  24. let cell : PublishTopicItemCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishTopicItemCell
  25. cell.indexPath = indexPath
  26. return cell
  27. }
  28. override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  29. super.init(style: style, reuseIdentifier: reuseIdentifier)
  30. setupViews()
  31. setupLayouts()
  32. }
  33. required init?(coder aDecoder: NSCoder) {
  34. fatalError("init(coder:) has not been implemented")
  35. }
  36. var indexPath: IndexPath? {
  37. didSet {
  38. }
  39. }
  40. //MRAK: - 设置View
  41. private func setupViews() {
  42. self.selectionStyle = .none
  43. backgroundColor = kffffffColor
  44. addSubview(selImageView)
  45. addSubview(titleLabel)
  46. addSubview(joinLabel)
  47. }
  48. private func setupLayouts() {
  49. selImageView.snp.makeConstraints { (make) in
  50. make.centerY.equalToSuperview()
  51. make.right.equalToSuperview().offset(-14)
  52. make.width.equalTo(16)
  53. make.height.equalTo(11)
  54. }
  55. titleLabel.snp.makeConstraints { (make) in
  56. make.centerY.equalToSuperview()
  57. make.left.equalTo(14)
  58. make.width.lessThanOrEqualTo(225 * kScaleWidth)
  59. make.height.equalTo(21)
  60. }
  61. joinLabel.snp.makeConstraints { (make) in
  62. make.centerY.equalToSuperview()
  63. make.left.equalTo(titleLabel.snp_right).offset(15)
  64. make.right.lessThanOrEqualTo(selImageView.snp_left).offset(-15)
  65. make.height.equalTo(17)
  66. }
  67. }
  68. private lazy var titleLabel: UILabel = {
  69. let titleLabel = UILabel()
  70. titleLabel.textColor = k333333Color
  71. titleLabel.font = kRegularFont15
  72. titleLabel.textAlignment = .left
  73. return titleLabel
  74. }()
  75. private lazy var joinLabel: UILabel = {
  76. let joinLabel = UILabel()
  77. joinLabel.textColor = kDDDDDDColor
  78. joinLabel.font = kRegularFont12
  79. joinLabel.textAlignment = .left
  80. return joinLabel
  81. }()
  82. lazy var selImageView : UIImageView = {
  83. let selImageView = UIImageView()
  84. selImageView.image = kImage(name: "edit_topic_pitchon")
  85. return selImageView
  86. }()
  87. }