ShoppingMallNavigationBarView.swift 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. //
  2. // ShoppingMallNavigationBarView.swift
  3. // RainbowPlanet
  4. //
  5. // Created by 南鑫林 on 2019/3/12.
  6. // Copyright © 2019 南鑫林. All rights reserved.
  7. //
  8. import UIKit
  9. import RxSwift
  10. import RxCocoa
  11. class ShoppingMallNavigationBarView: BaseView {
  12. typealias SearchBlock = () -> Void
  13. var searchBlock : SearchBlock?
  14. override func setupViews() {
  15. addSubview(addressImageView)
  16. addSubview(addressLabel)
  17. addSubview(searchButton)
  18. searchButton.addSubview(searchIconImageView)
  19. searchButton.addSubview(searchTextField)
  20. addSubview(categoryButton)
  21. }
  22. override func setupLayouts() {
  23. addressImageView.snp.makeConstraints { (make) in
  24. make.centerY.equalToSuperview()
  25. make.left.equalToSuperview().offset(14)
  26. make.size.equalTo(20)
  27. }
  28. addressLabel.snp.remakeConstraints { (make) in
  29. make.centerY.equalToSuperview()
  30. make.left.equalTo(addressImageView.snp.right).offset(kScaleValue(value: 6))
  31. }
  32. categoryButton.snp.makeConstraints { (make) in
  33. make.centerY.equalToSuperview()
  34. make.right.equalToSuperview().offset(-14)
  35. make.size.equalTo(22)
  36. }
  37. searchButton.snp.remakeConstraints { (make) in
  38. make.centerY.equalToSuperview()
  39. make.height.equalTo(30)
  40. make.right.equalTo(categoryButton.snp.left).offset(-9)
  41. let model = DeliveryMethodTypeModel.shared().getModel()
  42. if model?.deliveryMethodType == "1" { //自提
  43. addressLabel.isHidden = true
  44. make.left.equalTo(addressImageView.snp.right).offset(9)
  45. }
  46. if model?.deliveryMethodType == "2" { //快递
  47. addressLabel.isHidden = false
  48. make.left.equalTo(addressLabel.snp.right).offset(9)
  49. }
  50. }
  51. searchIconImageView.snp.remakeConstraints { (make) in
  52. make.centerY.equalTo(searchButton.snp.centerY)
  53. make.left.equalToSuperview().offset(15)
  54. make.size.equalTo(17)
  55. }
  56. searchTextField.snp.remakeConstraints { (make) in
  57. make.centerY.equalTo(searchButton.snp.centerY)
  58. make.left.equalTo(searchIconImageView.snp.right).offset(6)
  59. make.height.equalTo(30)
  60. }
  61. }
  62. private lazy var addressImageView: UIImageView = {
  63. let addressImageView = UIImageView()
  64. addressImageView.image = kImage(name: "navbar_address")
  65. return addressImageView
  66. }()
  67. private lazy var addressLabel: UILabel = {
  68. let addressLabel = UILabel()
  69. addressLabel.text = LocationModel.shared().getLocationModel()?.city ?? "西安市"
  70. addressLabel.textColor = k999999Color
  71. addressLabel.font = kScaleRegularFont14
  72. addressLabel.isHidden = false
  73. return addressLabel
  74. }()
  75. private lazy var searchButton: UIButton = {
  76. let searchButton = UIButton(type: UIButton.ButtonType.custom)
  77. searchButton.backgroundColor = kf7f8faColor
  78. searchButton.cornerRadius = 15
  79. searchButton.masksToBounds = true
  80. searchButton.rx.tap.subscribe(onNext: {[weak self] (data) in
  81. if let searchBlock = self?.searchBlock {
  82. searchBlock()
  83. }
  84. }).disposed(by: disposeBag)
  85. return searchButton
  86. }()
  87. private lazy var searchIconImageView: UIImageView = {
  88. let searchIconImageView = UIImageView()
  89. searchIconImageView.image = kImage(name: "navbar_search")
  90. return searchIconImageView
  91. }()
  92. private lazy var searchTextField: UITextField = {
  93. let searchTextField = UITextField()
  94. searchTextField.placeholder = "搜索商品名称"
  95. searchTextField.tintColor = kFFA42FColor
  96. searchTextField.textColor = k333333Color
  97. searchTextField.returnKeyType = .done
  98. searchTextField.font = kScaleRegularFont14
  99. searchTextField.borderStyle = .none
  100. searchTextField.isEnabled = false
  101. // searchTextField.isUserInteractionEnabled
  102. return searchTextField
  103. }()
  104. lazy var categoryButton: UIButton = {
  105. let categoryButton = UIButton(type: UIButton.ButtonType.custom)
  106. categoryButton.setImage(kImage(name: "navbar_class"), for: UIControl.State.normal)
  107. return categoryButton
  108. }()
  109. }