Skip to content

Commit

Permalink
Merge pull request #60 from mash-up-kr/feature/ns/searchTab_categoryR…
Browse files Browse the repository at this point in the history
…esult

검색탭 카테고리 검색 결과 UI
  • Loading branch information
namsoo5 authored Nov 6, 2021
2 parents 7b5a177 + 6e3b513 commit b90950b
Show file tree
Hide file tree
Showing 7 changed files with 342 additions and 2 deletions.
16 changes: 16 additions & 0 deletions HikingClub.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@
06A1ECB5271952B100EA78D8 /* NDTextFieldView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A1ECB4271952B100EA78D8 /* NDTextFieldView.swift */; };
06A1ECB7271967E600EA78D8 /* ComponentTestViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A1ECB6271967E600EA78D8 /* ComponentTestViewController.swift */; };
06A1ECB927198ED200EA78D8 /* UITextField+.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06A1ECB827198ED200EA78D8 /* UITextField+.swift */; };
06AB8CBA273136F7007F32AA /* SearchCategoryResultViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AB8CB9273136F7007F32AA /* SearchCategoryResultViewController.swift */; };
06AB8CBC27326A3C007F32AA /* SearchCategoryResultViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AB8CBB27326A3C007F32AA /* SearchCategoryResultViewModel.swift */; };
06AB8CBF273287B4007F32AA /* CategoryTabCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AB8CBD273287B4007F32AA /* CategoryTabCollectionViewCell.swift */; };
06AB8CC0273287B4007F32AA /* CategoryTabCollectionViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 06AB8CBE273287B4007F32AA /* CategoryTabCollectionViewCell.xib */; };
06AB8CB827312461007F32AA /* RxTextFieldDelegateProxy.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06AB8CB727312461007F32AA /* RxTextFieldDelegateProxy.swift */; };
06B68F9727228FF9007174E1 /* NDSearchTextField.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06B68F9627228FF9007174E1 /* NDSearchTextField.swift */; };
06BC1F74271C1B79001A6584 /* NDAlert.swift in Sources */ = {isa = PBXBuildFile; fileRef = 06BC1F73271C1B79001A6584 /* NDAlert.swift */; };
Expand Down Expand Up @@ -139,6 +143,10 @@
06A1ECB4271952B100EA78D8 /* NDTextFieldView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NDTextFieldView.swift; sourceTree = "<group>"; };
06A1ECB6271967E600EA78D8 /* ComponentTestViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ComponentTestViewController.swift; sourceTree = "<group>"; };
06A1ECB827198ED200EA78D8 /* UITextField+.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "UITextField+.swift"; sourceTree = "<group>"; };
06AB8CB9273136F7007F32AA /* SearchCategoryResultViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCategoryResultViewController.swift; sourceTree = "<group>"; };
06AB8CBB27326A3C007F32AA /* SearchCategoryResultViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SearchCategoryResultViewModel.swift; sourceTree = "<group>"; };
06AB8CBD273287B4007F32AA /* CategoryTabCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryTabCollectionViewCell.swift; sourceTree = "<group>"; };
06AB8CBE273287B4007F32AA /* CategoryTabCollectionViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CategoryTabCollectionViewCell.xib; sourceTree = "<group>"; };
06AB8CB727312461007F32AA /* RxTextFieldDelegateProxy.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RxTextFieldDelegateProxy.swift; sourceTree = "<group>"; };
06B68F9627228FF9007174E1 /* NDSearchTextField.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NDSearchTextField.swift; sourceTree = "<group>"; };
06BC1F73271C1B79001A6584 /* NDAlert.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NDAlert.swift; sourceTree = "<group>"; };
Expand Down Expand Up @@ -233,6 +241,8 @@
06962E94272927A00021402F /* Search.storyboard */,
06962E92272927770021402F /* SearchViewController.swift */,
06962E96272928290021402F /* SearchViewModel.swift */,
06AB8CB9273136F7007F32AA /* SearchCategoryResultViewController.swift */,
06AB8CBB27326A3C007F32AA /* SearchCategoryResultViewModel.swift */,
);
path = Search;
sourceTree = "<group>";
Expand All @@ -244,6 +254,8 @@
06962E98272A86100021402F /* RecentSearchCollectionViewCell.swift */,
06962E9E272BCD400021402F /* CategoryCollectionViewCell.xib */,
06962E9D272BCD400021402F /* CategoryCollectionViewCell.swift */,
06AB8CBE273287B4007F32AA /* CategoryTabCollectionViewCell.xib */,
06AB8CBD273287B4007F32AA /* CategoryTabCollectionViewCell.swift */,
);
path = Cell;
sourceTree = "<group>";
Expand Down Expand Up @@ -675,6 +687,7 @@
283AF07827086DA40033ED71 /* RoadTableViewCell.xib in Resources */,
06962E95272927A00021402F /* Search.storyboard in Resources */,
06A1EC9027088F4400EA78D8 /* HitThemeTableHeaderView.xib in Resources */,
06AB8CC0273287B4007F32AA /* CategoryTabCollectionViewCell.xib in Resources */,
7755080326F842E6005B8763 /* LaunchScreen.storyboard in Resources */,
06A1ECA12708CEFA00EA78D8 /* HitThemeHeaderCollectionViewCell.xib in Resources */,
7755080026F842E6005B8763 /* Assets.xcassets in Resources */,
Expand All @@ -701,6 +714,7 @@
06A1EC992708A7F300EA78D8 /* UIFont+.swift in Sources */,
77E5913827115F890070F381 /* LoginNavigationViewController.swift in Sources */,
77C69BE927294775004C2207 /* SignUpInputViewModel.swift in Sources */,
06AB8CBF273287B4007F32AA /* CategoryTabCollectionViewCell.swift in Sources */,
775B95AC27204D1C004D4540 /* UITabBarItem+.swift in Sources */,
06A1EC9B2708B12A00EA78D8 /* UILabel+.swift in Sources */,
777B517C2712AEB300299430 /* EmailAuthroizeViewController.swift in Sources */,
Expand Down Expand Up @@ -743,12 +757,14 @@
775507F926F842E5005B8763 /* SceneDelegate.swift in Sources */,
283AF06D27086B950033ED71 /* HomeViewController.swift in Sources */,
77C69BEB272CD4E6004C2207 /* KeyboardAccessoryToolbar.swift in Sources */,
06AB8CBA273136F7007F32AA /* SearchCategoryResultViewController.swift in Sources */,
777B517327129D6500299430 /* CodeBasedProtocol.swift in Sources */,
7760CA8F2725313B006B39A9 /* EmailAPI.swift in Sources */,
773D61A02719D0D0001528B3 /* SignInViewController.swift in Sources */,
7760CA91272540B2006B39A9 /* PlaceAPI.swift in Sources */,
06A1ECA32708D21400EA78D8 /* UITableView+.swift in Sources */,
067DC4F026FEF8A000650862 /* NetworkProvider.swift in Sources */,
06AB8CBC27326A3C007F32AA /* SearchCategoryResultViewModel.swift in Sources */,
7760CA9E27259F53006B39A9 /* PlaceModel.swift in Sources */,
777B517E2714336700299430 /* InitialSettingViewController.swift in Sources */,
77213CF82708EF1600994C9A /* BaseWebView.swift in Sources */,
Expand Down
36 changes: 36 additions & 0 deletions HikingClub/Feature/Search/Cell/CategoryTabCollectionViewCell.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
//
// CategoryTabCollectionViewCell.swift
// HikingClub
//
// Created by 남수김 on 2021/11/03.
//

import UIKit

final class CategoryTabCollectionViewCell: UICollectionViewCell {

private let tabButton: NDTabButton = NDTabButton()
override var isSelected: Bool {
didSet {
tabButton.setSelected(isSelected)
}
}

override func awakeFromNib() {
super.awakeFromNib()
addSubview(tabButton)
tabButton.snp.makeConstraints {
$0.leading.top.trailing.bottom.equalToSuperview()
}
tabButton.setEnabledTouch(false)
}

override func prepareForReuse() {
super.prepareForReuse()
tabButton.setTitle("")
}

func configure(with model: String) {
tabButton.setTitle(model)
}
}
25 changes: 25 additions & 0 deletions HikingClub/Feature/Search/Cell/CategoryTabCollectionViewCell.xib
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19162" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_1" orientation="portrait" appearance="light"/>
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="19144"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="CategoryTabCollectionViewCell" id="gTV-IL-0wX" customClass="CategoryTabCollectionViewCell" customModule="HikingClub" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="210" height="112"/>
<autoresizingMask key="autoresizingMask"/>
<view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
<rect key="frame" x="0.0" y="0.0" width="210" height="112"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
</view>
<viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
<size key="customSize" width="210" height="112"/>
<point key="canvasLocation" x="21.739130434782609" y="99.107142857142847"/>
</collectionViewCell>
</objects>
</document>
40 changes: 40 additions & 0 deletions HikingClub/Feature/Search/Search.storyboard
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,46 @@
</objects>
<point key="canvasLocation" x="-239" y="128"/>
</scene>
<!--Search Category Result View Controller-->
<scene sceneID="JNC-S6-euR">
<objects>
<viewController storyboardIdentifier="SearchCategoryResultViewController" id="qze-1t-ZUz" customClass="SearchCategoryResultViewController" customModule="HikingClub" customModuleProvider="target" sceneMemberID="viewController">
<view key="view" contentMode="scaleToFill" id="as3-7X-YEJ">
<rect key="frame" x="0.0" y="0.0" width="414" height="896"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="default" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" estimatedSectionHeaderHeight="-1" sectionFooterHeight="28" estimatedSectionFooterHeight="-1" translatesAutoresizingMaskIntoConstraints="NO" id="Loo-4G-gz0">
<rect key="frame" x="0.0" y="44" width="414" height="818"/>
</tableView>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ejM-T2-q4A" customClass="NaviBar" customModule="HikingClub" customModuleProvider="target">
<rect key="frame" x="0.0" y="44" width="414" height="40"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstAttribute="height" constant="40" id="qD4-wR-t3U"/>
</constraints>
</view>
</subviews>
<viewLayoutGuide key="safeArea" id="44h-Mh-yO8"/>
<color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints>
<constraint firstItem="ejM-T2-q4A" firstAttribute="leading" secondItem="44h-Mh-yO8" secondAttribute="leading" id="1sf-Xl-pOq"/>
<constraint firstItem="Loo-4G-gz0" firstAttribute="top" secondItem="44h-Mh-yO8" secondAttribute="top" id="20b-lG-PaP"/>
<constraint firstItem="44h-Mh-yO8" firstAttribute="trailing" secondItem="Loo-4G-gz0" secondAttribute="trailing" id="4aY-o4-rhP"/>
<constraint firstItem="44h-Mh-yO8" firstAttribute="bottom" secondItem="Loo-4G-gz0" secondAttribute="bottom" id="J3W-Fd-6QN"/>
<constraint firstItem="44h-Mh-yO8" firstAttribute="trailing" secondItem="ejM-T2-q4A" secondAttribute="trailing" id="KRr-zI-6fm"/>
<constraint firstItem="ejM-T2-q4A" firstAttribute="top" secondItem="44h-Mh-yO8" secondAttribute="top" id="Vap-jG-9sf"/>
<constraint firstItem="Loo-4G-gz0" firstAttribute="leading" secondItem="44h-Mh-yO8" secondAttribute="leading" id="uqT-1R-c5X"/>
</constraints>
</view>
<connections>
<outlet property="naviBar" destination="ejM-T2-q4A" id="IYN-s9-gdd"/>
<outlet property="tableView" destination="Loo-4G-gz0" id="Fcy-9Y-bdY"/>
</connections>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="4Xj-ua-5hm" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="447.82608695652175" y="132.58928571428572"/>
</scene>
</scenes>
<resources>
<systemColor name="systemBackgroundColor">
Expand Down
Loading

0 comments on commit b90950b

Please sign in to comment.