Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Design] #82 - 검색 레이아웃 설정 #89

Merged
merged 2 commits into from
Jul 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -53,12 +53,12 @@ extension SearchTVC {
}
searchLabel.text = data.title
searchLabel.partColorChange(targetString: searchContent, textColor: .mainRed)
print(searchContent)
}

private func setUI() {
backgroundColor = .helfmeWhite
selectionStyle = .none
print(searchContent)
}

private func setLayout() {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,13 +20,22 @@ final class SearchResultVC: UIViewController {
var searchContent: String = ""
weak var delegate: SearchResultVCDelegate?
private var isBottom: Bool = true
var searchResultList: [SearchResultDataModel] = []

// MARK: - UI Components

private let mapView: UIView = {
let view = UIView()
view.backgroundColor = .mainGreen
return view
}()

private let topView: UIView = {
let view = UIView()
view.backgroundColor = .helfmeWhite
return view
}()

private lazy var searchTextField: UITextField = {
let tf = UITextField()
tf.leftViewMode = .always
Expand Down Expand Up @@ -67,7 +76,7 @@ final class SearchResultVC: UIViewController {
private lazy var searchResultHeaderButton: UIButton = {
let btn = UIButton()
btn.setImage(ImageLiterals.Search.viewMapBtn, for: .normal)
btn.setTitle("지도 뷰로 보기", for: .normal)
btn.setTitle(I18N.Search.searchMap, for: .normal)
btn.setTitleColor(UIColor.helfmeGray1, for: .normal)
btn.titleLabel?.font = .NotoRegular(size: 14)
btn.isHidden = true
Expand All @@ -86,6 +95,12 @@ final class SearchResultVC: UIViewController {
tv.keyboardDismissMode = .onDrag
tv.tableHeaderView = searchResultHeaderView
tv.tableHeaderView?.frame.size.height = 42
tv.layer.applyShadow(color: .black,
alpha: 0.1,
x: 0,
y: -3,
blur: 4,
spread: 0)
return tv
}()

Expand All @@ -100,7 +115,6 @@ final class SearchResultVC: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

initUI()
setUI()
setLayout()
Expand Down Expand Up @@ -134,8 +148,9 @@ extension SearchResultVC {
extension SearchResultVC {
private func initUI() {
UIView.animate(withDuration: 0.2, animations: {
self.searchResultTableView.transform = CGAffineTransform(translationX: 0, y: 500)
self.searchResultTableView.transform = CGAffineTransform(translationX: 0, y: 585)
})
searchResultTableView.layer.shadowOpacity = 0.1
searchResultHeaderButton.isHidden = true
searchResultLineView.isHidden = false
searchResultTableView.layer.cornerRadius = 15
Expand All @@ -148,11 +163,17 @@ extension SearchResultVC {
}

private func setLayout() {
view.addSubviews(searchTextField,
view.addSubviews(topView,
searchTextField,
lineView,
mapView,
searchResultTableView)

topView.snp.makeConstraints {
$0.top.leading.trailing.equalToSuperview()
$0.height.equalTo(91)
}

searchTextField.snp.makeConstraints {
$0.top.equalTo(view.safeAreaLayoutGuide)
$0.leading.trailing.equalToSuperview()
Expand Down Expand Up @@ -235,12 +256,12 @@ extension SearchResultVC: UITableViewDelegate {

extension SearchResultVC: UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return SearchResultDataModel.sampleSearchResultData.count
return searchResultList.count
}

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: SearchResultTVC.className, for: indexPath) as? SearchResultTVC else { return UITableViewCell() }
cell.setData(data: SearchResultDataModel.sampleSearchResultData[indexPath.row])
cell.setData(data: searchResultList[indexPath.row])
return cell
}
}
Expand All @@ -251,13 +272,17 @@ extension SearchResultVC: UIScrollViewDelegate {
func scrollViewWillBeginDragging(_ scrollView: UIScrollView) {
if scrollView.contentOffset.y == 0 && isBottom {
self.searchResultTableView.isScrollEnabled = false
UIView.animate(withDuration: 0.2, animations: {
UIView.animate(withDuration: 0.2, delay: 0, options: .curveLinear) {
self.searchResultTableView.transform = CGAffineTransform(translationX: 0, y: 0)
self.searchResultHeaderButton.isHidden = false
})
} completion: { _ in
self.view.bringSubviewToFront(self.topView)
self.view.bringSubviewToFront(self.searchTextField)
}
}
isBottom = false
searchResultTableView.layer.cornerRadius = 0
searchResultTableView.layer.shadowOpacity = 0
searchResultLineView.isHidden = true
searchResultTableView.isScrollEnabled = true
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ final class SearchVC: UIViewController {
private var isEmpty: Bool = false
private var searchEmptyView = SearchEmptyView()

// MARK: - UI Components

private let searchView: UIView = {
let view = UIView()
view.backgroundColor = .mainRed
Expand All @@ -50,6 +52,7 @@ final class SearchVC: UIViewController {
tf.addTarget(self, action: #selector(editingChanged(_:)), for: .editingChanged)
tf.leftView = backButton
tf.rightView = clearButton
tf.autocorrectionType = .no
return tf
}()

Expand Down Expand Up @@ -126,7 +129,6 @@ final class SearchVC: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()

setData()
fetchData()
setUI()
Expand Down Expand Up @@ -162,7 +164,6 @@ extension SearchVC {
} else {
searchTextField.rightViewMode = .always
isSearch()
searchTableView.reloadData()
}
}

Expand All @@ -171,6 +172,7 @@ extension SearchVC {
searchResultVC.delegate = self
if let searchText = searchTextField.text {
searchResultVC.searchContent = searchText
searchResultVC.searchResultList = searchResultList
}
navigationController?.pushViewController(searchResultVC, animated: false)
}
Expand Down