AccountSecurityTableViewCell.swift 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. //
  2. // AccountSecurityTableViewCell.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/4/25.
  6. // Copyright © 2019 南鑫林. All rights reserved.
  7. //
  8. import UIKit
  9. class AccountSecurityTableViewCell: UITableViewCell {
  10. class func cellWith(tableView:UITableView,indexPath:IndexPath) -> AccountSecurityTableViewCell {
  11. let ID = "AccountSecurityTableViewCell"
  12. tableView.register(AccountSecurityTableViewCell.self, forCellReuseIdentifier: ID)
  13. let cell : AccountSecurityTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! AccountSecurityTableViewCell
  14. cell.indexPath = indexPath
  15. return cell
  16. }
  17. override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  18. super.init(style: style, reuseIdentifier: reuseIdentifier)
  19. setupViews()
  20. setupLayouts()
  21. }
  22. required init?(coder aDecoder: NSCoder) {
  23. fatalError("init(coder:) has not been implemented")
  24. }
  25. var indexPath: IndexPath? {
  26. didSet {
  27. }
  28. }
  29. //MRAK: - 设置View
  30. private func setupViews() {
  31. self.selectionStyle = .none
  32. accessoryType = .disclosureIndicator
  33. addSubview(iconImageView)
  34. addSubview(titleLabel)
  35. addSubview(accountSecurityLabel)
  36. contentView.addSubview(detailsLabel)
  37. addSubview(lineLabel)
  38. }
  39. private func setupLayouts() {
  40. iconImageView.snp.makeConstraints { (make) in
  41. make.centerY.equalToSuperview()
  42. make.left.equalTo(14)
  43. make.size.equalTo(40)
  44. }
  45. titleLabel.snp.remakeConstraints { (make) in
  46. make.centerY.equalToSuperview()
  47. make.left.equalTo(iconImageView.snp.right).offset(10)
  48. }
  49. detailsLabel.snp.remakeConstraints { (make) in
  50. make.centerY.equalToSuperview()
  51. make.right.equalToSuperview()
  52. }
  53. lineLabel.snp.makeConstraints { (make) in
  54. make.bottom.right.equalToSuperview()
  55. make.left.equalTo(14)
  56. make.height.equalTo(0.5)
  57. }
  58. }
  59. private lazy var iconImageView: UIImageView = {
  60. let iconImageView = UIImageView()
  61. return iconImageView
  62. }()
  63. private lazy var titleLabel: UILabel = {
  64. let titleLabel = UILabel()
  65. titleLabel.textColor = k333333Color
  66. titleLabel.font = kRegularFont15
  67. return titleLabel
  68. }()
  69. private lazy var detailsLabel: UILabel = {
  70. let detailsLabel = UILabel()
  71. detailsLabel.textColor = k999999Color
  72. detailsLabel.font = kRegularFont14
  73. return detailsLabel
  74. }()
  75. private lazy var lineLabel: UILabel = {
  76. let lineLabel = UILabel()
  77. lineLabel.backgroundColor = kf5f5f5Color
  78. return lineLabel
  79. }()
  80. private lazy var accountSecurityLabel: UILabel = {
  81. let accountSecurityLabel = UILabel()
  82. accountSecurityLabel.textColor = k999999Color
  83. accountSecurityLabel.font = kRegularFont14
  84. accountSecurityLabel.isHidden = true
  85. return accountSecurityLabel
  86. }()
  87. var titles : [String]? {
  88. didSet {
  89. titleLabel.text = titles?[(indexPath?.row)!]
  90. let userModel = UserModel.shared().getModel()
  91. switch indexPath?.row {
  92. case 0:
  93. if userModel?.mobile == nil || userModel?.mobile == "" {
  94. accountSecurityLabel.isHidden = true
  95. detailsLabel.text = "未绑定"
  96. }else {
  97. accountSecurityLabel.isHidden = false
  98. accountSecurityLabel.text = userModel?.mobile
  99. detailsLabel.text = "更换手机号码"
  100. titleLabel.snp.remakeConstraints { (make) in
  101. make.bottom.equalTo(self.snp.centerY)
  102. make.left.equalTo(iconImageView.snp.right).offset(10)
  103. }
  104. accountSecurityLabel.snp.remakeConstraints { (make) in
  105. make.top.equalTo(self.snp.centerY)
  106. make.left.equalTo(iconImageView.snp.right).offset(10)
  107. }
  108. }
  109. detailsLabel.snp.remakeConstraints { (make) in
  110. make.centerY.equalToSuperview()
  111. make.right.equalToSuperview()
  112. }
  113. accessoryType = .disclosureIndicator
  114. break
  115. case 1:
  116. accountSecurityLabel.isHidden = true
  117. if userModel?.bindWeixinUserModel?.unionId == nil || userModel?.bindWeixinUserModel?.unionId == "" {
  118. detailsLabel.text = "未绑定"
  119. accessoryType = .disclosureIndicator
  120. detailsLabel.snp.remakeConstraints { (make) in
  121. make.centerY.equalToSuperview()
  122. make.right.equalToSuperview()
  123. }
  124. }else {
  125. detailsLabel.text = "已绑定"
  126. accessoryType = .none
  127. detailsLabel.snp.remakeConstraints { (make) in
  128. make.centerY.equalToSuperview()
  129. make.right.equalToSuperview().offset(-14)
  130. }
  131. }
  132. break
  133. case 2:
  134. accountSecurityLabel.isHidden = true
  135. if userModel?.bindQQUserModel?.unionId == nil || userModel?.bindQQUserModel?.unionId == "" {
  136. detailsLabel.text = "未绑定"
  137. accessoryType = .disclosureIndicator
  138. detailsLabel.snp.remakeConstraints { (make) in
  139. make.centerY.equalToSuperview()
  140. make.right.equalToSuperview()
  141. }
  142. }else {
  143. detailsLabel.text = "已绑定"
  144. accessoryType = .none
  145. detailsLabel.snp.remakeConstraints { (make) in
  146. make.centerY.equalToSuperview()
  147. make.right.equalToSuperview().offset(-14)
  148. }
  149. }
  150. break
  151. default:
  152. break
  153. }
  154. }
  155. }
  156. var icons : [String]? {
  157. didSet {
  158. iconImageView.image = kImage(name: (icons?[(indexPath?.row)!])!)
  159. }
  160. }
  161. }