JCSelectMemberCell.swift 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. //
  2. // JCSelectMemberCell.swift
  3. // JChat
  4. //
  5. // Created by deng on 2017/5/11.
  6. // Copyright © 2017年 HXHG. All rights reserved.
  7. //
  8. import UIKit
  9. import JMessage
  10. class JCSelectMemberCell: UITableViewCell {
  11. var icon: UIImage? {
  12. get {
  13. return avatorView.image
  14. }
  15. set {
  16. avatorView.image = newValue
  17. }
  18. }
  19. var selectIcon: UIImage? {
  20. get {
  21. return selectIconView.image
  22. }
  23. set {
  24. selectIconView.image = newValue
  25. }
  26. }
  27. var title: String? {
  28. get {
  29. return usernameLabel.text
  30. }
  31. set {
  32. usernameLabel.text = newValue
  33. }
  34. }
  35. override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  36. super.init(style: style, reuseIdentifier: reuseIdentifier)
  37. _init()
  38. }
  39. required init?(coder aDecoder: NSCoder) {
  40. super.init(coder: aDecoder)
  41. _init()
  42. }
  43. override func awakeFromNib() {
  44. super.awakeFromNib()
  45. _init()
  46. }
  47. private lazy var avatorView: UIImageView = UIImageView()
  48. private lazy var usernameLabel: UILabel = UILabel()
  49. private lazy var selectIconView: UIImageView = UIImageView()
  50. public func bindDate(_ user : JMSGUser) {
  51. title = user.displayName()
  52. icon = UIImage.loadImage("com_icon_user_36")
  53. user.thumbAvatarData({ (data, name, error) in
  54. if data != nil {
  55. let image = UIImage(data: data!)
  56. self.icon = image
  57. }
  58. })
  59. }
  60. //MARK: - private func
  61. private func _init() {
  62. let image = UIImage.loadImage("com_icon_unselect")
  63. selectIconView.image = image
  64. usernameLabel.textColor = UIColor(netHex: 0x2c2c2c)
  65. usernameLabel.font = UIFont.systemFont(ofSize: 14)
  66. contentView.addSubview(selectIconView)
  67. contentView.addSubview(avatorView)
  68. contentView.addSubview(usernameLabel)
  69. addConstraint(_JCLayoutConstraintMake(selectIconView, .left, .equal, contentView, .left, 15))
  70. addConstraint(_JCLayoutConstraintMake(selectIconView, .centerY, .equal, contentView, .centerY))
  71. addConstraint(_JCLayoutConstraintMake(selectIconView, .width, .equal, nil, .notAnAttribute, 20))
  72. addConstraint(_JCLayoutConstraintMake(selectIconView, .height, .equal, nil, .notAnAttribute, 20))
  73. addConstraint(_JCLayoutConstraintMake(avatorView, .left, .equal, selectIconView, .right, 15))
  74. addConstraint(_JCLayoutConstraintMake(avatorView, .top, .equal, contentView, .top, 9.5))
  75. addConstraint(_JCLayoutConstraintMake(avatorView, .width, .equal, nil, .notAnAttribute, 36))
  76. addConstraint(_JCLayoutConstraintMake(avatorView, .height, .equal, nil, .notAnAttribute, 36))
  77. addConstraint(_JCLayoutConstraintMake(usernameLabel, .left, .equal, avatorView, .right, 11))
  78. addConstraint(_JCLayoutConstraintMake(usernameLabel, .top, .equal, contentView, .top, 19.5))
  79. addConstraint(_JCLayoutConstraintMake(usernameLabel, .right, .equal, contentView, .right, -15))
  80. addConstraint(_JCLayoutConstraintMake(usernameLabel, .height, .equal, nil, .notAnAttribute, 16))
  81. }
  82. }