MessageHomeOneCollectionViewCell.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // MessageHomeOneCollectionViewCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/6/26.
  6. // Copyright © 2019 RainbowPlanet. All rights reserved.
  7. //
  8. import UIKit
  9. import PPBadgeViewSwift
  10. class MessageHomeOneCollectionViewCell: UICollectionViewCell {
  11. var images = ["news_comment","news_interaction","news_attention"]
  12. var titles = ["评论和@","赞与互动","关注通知"]
  13. class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> MessageHomeOneCollectionViewCell {
  14. let ID = "MessageHomeOneCollectionViewCell"
  15. collectionView.register(MessageHomeOneCollectionViewCell.self, forCellWithReuseIdentifier: ID)
  16. let cell : MessageHomeOneCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! MessageHomeOneCollectionViewCell
  17. cell.indexPath = indexPath
  18. return cell
  19. }
  20. //MARK: - indexPath
  21. var indexPath: IndexPath?{
  22. didSet {
  23. iconImageView.image = kImage(name: images[(indexPath?.row)!])
  24. titleLabel.text = titles[(indexPath?.row)!]
  25. }
  26. }
  27. //MARK: - 初始化
  28. override init(frame: CGRect) {
  29. super.init(frame: frame)
  30. setupViews()
  31. setupLayouts()
  32. }
  33. required init?(coder aDecoder: NSCoder) {
  34. fatalError("init(coder:) has not been implemented")
  35. }
  36. //MARK: - 设置view
  37. private func setupViews() {
  38. backgroundColor = .white
  39. addSubview(iconImageView)
  40. addSubview(titleLabel)
  41. }
  42. private func setupLayouts() {
  43. iconImageView.snp.makeConstraints { (make) in
  44. make.top.equalTo(20)
  45. make.centerX.equalToSuperview()
  46. make.size.equalTo(40)
  47. }
  48. titleLabel.snp.makeConstraints { (make) in
  49. make.top.equalTo(iconImageView.snp_bottom).offset(4)
  50. make.centerX.equalToSuperview()
  51. make.height.equalTo(20)
  52. }
  53. }
  54. private lazy var iconImageView : UIImageView = {
  55. let iconImageView = UIImageView()
  56. iconImageView.isUserInteractionEnabled = true
  57. iconImageView.pp.addDot(color: kFE352BColor)
  58. iconImageView.pp.setBadge(height: 10)
  59. iconImageView.pp.moveBadge(x: -5, y: -5)
  60. return iconImageView
  61. }()
  62. private lazy var titleLabel: UILabel = {
  63. let titleLabel = UILabel()
  64. titleLabel.textColor = k333333Color
  65. titleLabel.font = kScaleBoldFont14
  66. return titleLabel
  67. }()
  68. var messageModel: MessageModel? {
  69. didSet {
  70. if messageModel?.isYes == 0 {
  71. iconImageView.pp.hiddenBadge()
  72. }else if messageModel?.isYes == 1 {
  73. iconImageView.pp.showBadge()
  74. }
  75. }
  76. }
  77. }