YCOrderHeaderView.swift 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. //
  2. // YCOrderHeaderView.swift
  3. // learnSwift
  4. //
  5. // Created by zyc on 2019/12/23.
  6. // Copyright © 2019 张言超. All rights reserved.
  7. //
  8. import UIKit
  9. @objc protocol YC_headerViewDelegate {
  10. func headerViewDidPress(index: NSInteger, shopmodel: YCOrderShopModel, isSel: Bool)
  11. }
  12. class YCOrderHeaderView: UIView {
  13. /** 代理 */
  14. weak var YCHeaderDelegate: YC_headerViewDelegate?
  15. /** 数据 */
  16. private var _xshopModel: YCOrderShopModel?
  17. var shopModel: YCOrderShopModel? {
  18. get {
  19. return _xshopModel
  20. }
  21. set {
  22. _xshopModel = newValue
  23. if (_xshopModel?.shopIsAllSelected)! {
  24. self.leftSelBtn.setImage(UIImage.init(named: "GameCenterNewAppTag"), for: .normal)
  25. self.isLeftBtnSel = true
  26. } else {
  27. self.leftSelBtn.setImage(UIImage.init(named: "GameCenterNewWhite"), for: .normal)
  28. self.isLeftBtnSel = false
  29. }
  30. self.shopNameLabel.text = _xshopModel?.shopName
  31. }
  32. }
  33. /** 序号 */
  34. var index: NSInteger?
  35. let boardWidth: CGFloat = 10
  36. let headerHeight: CGFloat = 50
  37. let leftSelBtnWH: CGFloat = 30
  38. var leftSelBtn = UIButton.init()
  39. var shopNameLabel = UILabel.init()
  40. var isLeftBtnSel: Bool = false
  41. override init(frame: CGRect) {
  42. super.init(frame: frame)
  43. let leftBtn = UIButton.init(frame: CGRect(x: boardWidth, y: (headerHeight - leftSelBtnWH)*0.5, width: leftSelBtnWH, height: leftSelBtnWH))
  44. leftBtn.addTarget(self, action: #selector(leftSelBtnDidPress(btn:)), for: .touchUpInside)
  45. self.leftSelBtn = leftBtn
  46. self.addSubview(leftBtn)
  47. self.shopNameLabel = UILabel.init(frame: CGRect(x: (boardWidth+boardWidth+leftSelBtnWH), y: leftBtn.yc_top(), width: (kScreenWidth - 3*boardWidth - leftBtn.yc_width()), height: leftSelBtnWH))
  48. self.shopNameLabel.text = "今年本月旗舰店"
  49. self.shopNameLabel.font = UIFont.systemFont(ofSize: 19)
  50. self.shopNameLabel.textColor = .black
  51. self.addSubview(self.shopNameLabel)
  52. }
  53. @objc func leftSelBtnDidPress(btn: UIButton) {
  54. if self.isLeftBtnSel {
  55. self.leftSelBtn.setImage(UIImage.init(named: "GameCenterNewWhite"), for: .normal)
  56. self.isLeftBtnSel = false
  57. } else {
  58. self.leftSelBtn.setImage(UIImage.init(named: "GameCenterNewAppTag"), for: .normal)
  59. self.isLeftBtnSel = true
  60. }
  61. if self.YCHeaderDelegate != nil {
  62. self.YCHeaderDelegate?.headerViewDidPress(index: self.index!, shopmodel: self.shopModel!, isSel: self.isLeftBtnSel)
  63. }
  64. }
  65. required init?(coder: NSCoder) {
  66. fatalError("init(coder:) has not been implemented")
  67. }
  68. }