PublishEditAddAddressCell.swift 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133
  1. //
  2. // PublishEditAddAddressCell.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 PublishEditAddAddressCell: UITableViewCell {
  10. var location: String? {
  11. didSet {
  12. if self.location != "" {
  13. titleLabel.text = ""
  14. subLabel.text = self.location
  15. iconImageView.image = kImage(name: "edit_ico_address_pre")
  16. subLabel.textColor = k333333Color
  17. subLabel.font = kRegularFont14
  18. remakeSubLabelWithLeading(36)
  19. } else {
  20. titleLabel.text = "添加地点"
  21. subLabel.text = "(打卡地点,结识附近的彩虹居民)"
  22. iconImageView.image = kImage(name: "edit_ico_address")
  23. subLabel.textColor = kDDDDDDColor
  24. subLabel.font = kRegularFont12
  25. remakeSubLabelWithLeading(102)
  26. }
  27. }
  28. }
  29. class func cellWith(tableView:UITableView,indexPath:IndexPath) -> PublishEditAddAddressCell {
  30. let ID = "PublishEditAddAddressCell"
  31. tableView.register(PublishEditAddAddressCell.self, forCellReuseIdentifier: ID)
  32. let cell : PublishEditAddAddressCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! PublishEditAddAddressCell
  33. cell.indexPath = indexPath
  34. return cell
  35. }
  36. override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  37. super.init(style: style, reuseIdentifier: reuseIdentifier)
  38. setupViews()
  39. setupLayouts()
  40. }
  41. required init?(coder aDecoder: NSCoder) {
  42. fatalError("init(coder:) has not been implemented")
  43. }
  44. var indexPath: IndexPath? {
  45. didSet {
  46. }
  47. }
  48. //MRAK: - 设置View
  49. private func setupViews() {
  50. self.selectionStyle = .none
  51. backgroundColor = kffffffColor
  52. addSubview(iconImageView)
  53. addSubview(arrowImageView)
  54. addSubview(titleLabel)
  55. addSubview(subLabel)
  56. }
  57. private func setupLayouts() {
  58. iconImageView.snp.makeConstraints { (make) in
  59. make.centerY.equalToSuperview()
  60. make.left.equalTo(14)
  61. make.size.equalTo(16)
  62. }
  63. arrowImageView.snp.makeConstraints { (make) in
  64. make.right.equalToSuperview().offset(-19)
  65. make.centerY.equalToSuperview()
  66. make.width.equalTo(7)
  67. make.height.equalTo(12)
  68. }
  69. titleLabel.snp.makeConstraints { (make) in
  70. make.centerY.equalToSuperview()
  71. make.left.equalTo(iconImageView.snp_right).offset(6)
  72. make.width.equalTo(56)
  73. make.height.equalTo(20)
  74. }
  75. subLabel.snp.makeConstraints { (make) in
  76. make.centerY.equalToSuperview()
  77. make.left.equalTo(titleLabel.snp_right).offset(10)
  78. make.right.equalTo(arrowImageView.snp_left).offset(-10)
  79. make.height.equalTo(17)
  80. }
  81. }
  82. lazy var iconImageView : UIImageView = {
  83. let iconImageView = UIImageView()
  84. iconImageView.image = kImage(name: "edit_ico_address")
  85. return iconImageView
  86. }()
  87. private lazy var titleLabel: UILabel = {
  88. let titleLabel = UILabel()
  89. titleLabel.textColor = k333333Color
  90. titleLabel.font = kMediumFont14
  91. titleLabel.textAlignment = .left
  92. return titleLabel
  93. }()
  94. private lazy var subLabel: UILabel = {
  95. let subLabel = UILabel()
  96. subLabel.text = "(打卡地点,结识附近的彩虹居民)"
  97. subLabel.textColor = kDDDDDDColor
  98. subLabel.font = kRegularFont12
  99. subLabel.textAlignment = .left
  100. return subLabel
  101. }()
  102. lazy var arrowImageView : UIImageView = {
  103. let iconImageView = UIImageView()
  104. iconImageView.image = kImage(name: "my_arrows_unfold")
  105. return iconImageView
  106. }()
  107. func remakeSubLabelWithLeading(_ leading: UInt) {
  108. subLabel.snp.remakeConstraints { (make) in
  109. make.centerY.equalToSuperview()
  110. make.left.equalToSuperview().offset(leading)
  111. make.right.equalTo(arrowImageView.snp_left).offset(-10)
  112. make.height.equalTo(17)
  113. }
  114. }
  115. }