123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155 |
- //
- // SearchResultNavigationbarView.swift
- // RainbowPlanet
- //
- // Created by 南鑫林 on 2019/4/23.
- // Copyright © 2019 南鑫林. All rights reserved.
- //
- import UIKit
- import PPBadgeViewSwift
- class SearchResultNavigationbarView: BaseView {
-
- /// 返回
- typealias BackBlock = () -> Void
- var backBlock : BackBlock?
-
- /// 购物车
- typealias ShoppingCarBlock = () -> Void
- var shoppingCarBlock : ShoppingCarBlock?
-
- /// 搜索
- typealias SearchResultBlock = (_ keyWord:String) -> Void
- var searchResultBlock : SearchResultBlock?
-
- override func setupViews() {
- addSubview(backButton)
- addSubview(shoppingCarButton)
- addSubview(searchbgView)
- searchbgView.addSubview(searchIconImageView)
- searchbgView.addSubview(searchTextField)
- }
-
- override func setupLayouts() {
-
- backButton.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(14)
- make.size.equalTo(22)
- }
-
- shoppingCarButton.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.right.equalToSuperview().offset(-14)
- make.width.equalTo(24)
- make.height.equalTo(21)
- }
- searchbgView.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(backButton.snp.right).offset(4)
- make.right.equalTo(shoppingCarButton.snp.left).offset(-10)
- make.height.equalTo(30)
- }
- searchIconImageView.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(12)
- make.size.equalTo(18)
- }
-
- searchTextField.snp.makeConstraints { (make) in
- make.centerY.equalToSuperview()
- make.left.equalTo(searchIconImageView.snp.right).offset(8)
- make.right.equalToSuperview().offset(8)
- make.height.equalTo(30)
-
- }
- }
-
- private lazy var backButton: UIButton = {
- let backButton = UIButton(type: UIButton.ButtonType.custom)
- backButton.setImage(kImage(name: "navbar_back_black"), for: UIControl.State.normal)
- backButton.rx.tap.subscribe(onNext: { [weak self] (data) in
- if let backBlock = self?.backBlock {
- backBlock()
- }
- }).disposed(by: disposeBag)
- return backButton
- }()
-
- private lazy var searchbgView: UIView = {
- let searchbgView = UIView()
- searchbgView.backgroundColor = kf7f8faColor
- searchbgView.cornerRadius = 15
- searchbgView.masksToBounds = true
- return searchbgView
- }()
-
- private lazy var searchIconImageView: UIImageView = {
- let searchIconImageView = UIImageView()
- searchIconImageView.image = kImage(name: "navbar_search")
- return searchIconImageView
- }()
-
- lazy var searchTextField: UITextField = {
- let searchTextField = UITextField()
- searchTextField.placeholder = "请输入商品名称"
- searchTextField.tintColor = kFFA42FColor
- searchTextField.textColor = k333333Color
- searchTextField.returnKeyType = .search
- searchTextField.font = kScaleRegularFont14
- searchTextField.borderStyle = .none
- searchTextField.rx.controlEvent([.editingDidEndOnExit]).asObservable().subscribe(onNext: { [weak self] (text) in
-
- if searchTextField.text?.count ?? 0 > 0 {
- self?.endEditing(true)
- var searchHistoryArray = Array<String>()
-
- if UserDefaults.standard.array(forKey: "SearchHistoryArray")?.isEmpty ?? true {
- searchHistoryArray.append(searchTextField.text ?? "")
- } else {
- searchHistoryArray = UserDefaults.standard.array(forKey: "SearchHistoryArray") as! [String]
- searchHistoryArray.append(searchTextField.text ?? "")
- }
- UserDefaults.standard.set(searchHistoryArray, forKey: "SearchHistoryArray")
- if let searchResultBlock = self?.searchResultBlock {
- searchResultBlock(searchTextField.text ?? "")
- }
- }else {
- SwiftProgressHUD.shared().showText("搜索商品不能为空")
- }
-
-
- }).disposed(by: disposeBag)
- return searchTextField
- }()
-
- private lazy var shoppingCarButton: UIButton = {
- let shoppingCarButton = UIButton(type: UIButton.ButtonType.custom)
- shoppingCarButton.setImage(kImage(name: "navbar_shopping"), for: UIControl.State.normal)
- shoppingCarButton.rx.tap.subscribe(onNext: { [weak self] (data) in
- if let shoppingCarBlock = self?.shoppingCarBlock {
- shoppingCarBlock()
- }
- }).disposed(by: disposeBag)
- // shoppingCarButton.pp.setBadge(height: 14)
- // shoppingCarButton.pp.badgeView.font = kRegularFont10
- shoppingCarButton.pp.badgeView.backgroundColor = kfe352bColor
- shoppingCarButton.pp.moveBadge(x: -2, y: 2)
- return shoppingCarButton
- }()
-
- var productCartCountModel : ProductCartCountModel? {
- didSet {
-
- if productCartCountModel?.count == 0 {
- shoppingCarButton.pp.hiddenBadge()
- }else {
- shoppingCarButton.pp.addBadge(number: productCartCountModel?.count ?? 0)
- }
- }
- }
- }
|