Skip to content

Commit

Permalink
πŸ— :: [#215] κΈ°λŠ₯ μž‘λ™ λ¦¬νŽ™ν† λ§
Browse files Browse the repository at this point in the history
λ¦¬νŽ™
  • Loading branch information
Eunho0922 committed Feb 27, 2024
1 parent ac0dbfb commit 9d20eec
Showing 1 changed file with 56 additions and 37 deletions.
Original file line number Diff line number Diff line change
@@ -1,68 +1,87 @@
import UIKit

import RxCocoa
import RxSwift

import SnapKit
import Then

open class MGSearchView: UIView {
import Core

open class MGSearchView: BaseView {

private var searchImage = UIImageView().then {
$0.contentMode = .scaleAspectFit
$0.image = DSKitAsset.Assets.searchActIcon.image
$0.image = DSKitAsset.Assets.blackSearchActIcon.image
}

private let searchTextField = MGSearchTextField()

private var cancelImage = UIImageView().then {
$0.contentMode = .scaleAspectFit
$0.image = DSKitAsset.Assets.blackCancel.image

public let searchTextField = UITextField().then {
$0.tintColor = DSKitAsset.Colors.gray300.color
$0.placeholder = "μžμ„Έ 검색"
}

private var cancelButton = UIButton().then {
$0.setImage(DSKitAsset.Assets.blackCancel.image, for: .normal)
$0.isHidden = true
}
public init (backgroundColor: UIColor) {

public init () {
super.init(frame: .zero)

self.backgroundColor = backgroundColor
self.layer.cornerRadius = 8.0

if (backgroundColor == DSKitAsset.Colors.gray800.color ) {
searchImage.image = DSKitAsset.Assets.searchActIcon.image
cancelImage.image = DSKitAsset.Assets.searchActIcon.image
}
self.searchTextField.placeholder = "μžμ„Έ 검색"

setupUI()
bind()
}

required public init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}

public func hideCancelButton() {
self.cancelImage.isHidden = true
}

public func showCancelButton() {
self.cancelImage.isHidden = true

public override func attribute() {
super.attribute()

self.backgroundColor = DSKitAsset.Colors.gray50.color
self.layer.cornerRadius = 8.0
}
private func setupUI() {
self.addSubviews([searchImage, searchTextField, cancelImage])

public override func layout() {
addSubviews([searchImage, searchTextField, cancelButton])

searchImage.snp.makeConstraints {
$0.leading.equalToSuperview().offset(12.0)
$0.top.bottom.equalToSuperview().inset(8.0)
$0.width.height.equalTo(24.0)
}

searchTextField.snp.makeConstraints {
$0.top.bottom.equalToSuperview().inset(10.0)
$0.leading.equalTo(searchImage.snp.trailing).offset(8.0)
$0.trailing.equalTo(cancelImage.snp.leading).offset(-8.0)
$0.trailing.equalTo(cancelButton.snp.leading).offset(-8.0)
$0.height.equalTo(40.0)
}
cancelImage.snp.makeConstraints {

cancelButton.snp.makeConstraints {
$0.trailing.equalToSuperview().offset(-12.0)
$0.top.bottom.equalToSuperview().inset(8.0)
$0.width.height.equalTo(24.0)
}
}

private func bind() {
searchTextField.rx.text.orEmpty
.map { $0.isEmpty }
.bind(to: cancelButton.rx.isHidden)
.disposed(by: disposeBag)

cancelButton.rx.tap.subscribe(onNext: { [weak self] in
self?.searchTextField.text = ""
}).disposed(by: disposeBag)
}
}

public extension MGSearchView {
func hideCancelButton() {
self.cancelButton.isHidden = true
}

func showCancelButton() {
self.cancelButton.isHidden = true
}
}

0 comments on commit 9d20eec

Please sign in to comment.