diff --git a/ios/sidedish/sidedish.xcodeproj/project.pbxproj b/ios/sidedish/sidedish.xcodeproj/project.pbxproj index 61614b1ad..55854ada9 100644 --- a/ios/sidedish/sidedish.xcodeproj/project.pbxproj +++ b/ios/sidedish/sidedish.xcodeproj/project.pbxproj @@ -9,9 +9,10 @@ /* Begin PBXBuildFile section */ 8214B70B262DE07A004467C2 /* MenuCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8214B70A262DE07A004467C2 /* MenuCell.swift */; }; 8214B70E262DE253004467C2 /* MainTableViewDataSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8214B70D262DE253004467C2 /* MainTableViewDataSource.swift */; }; + 8214B711262DE4B4004467C2 /* MainTableViewDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8214B710262DE4B4004467C2 /* MainTableViewDelegate.swift */; }; 82FDB9C7262DCFD8009E3EB7 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FDB9C6262DCFD8009E3EB7 /* AppDelegate.swift */; }; 82FDB9C9262DCFD8009E3EB7 /* SceneDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FDB9C8262DCFD8009E3EB7 /* SceneDelegate.swift */; }; - 82FDB9CB262DCFD8009E3EB7 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FDB9CA262DCFD8009E3EB7 /* ViewController.swift */; }; + 82FDB9CB262DCFD8009E3EB7 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 82FDB9CA262DCFD8009E3EB7 /* MainViewController.swift */; }; 82FDB9CE262DCFD8009E3EB7 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 82FDB9CC262DCFD8009E3EB7 /* Main.storyboard */; }; 82FDB9D0262DCFD8009E3EB7 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 82FDB9CF262DCFD8009E3EB7 /* Assets.xcassets */; }; 82FDB9D3262DCFD8009E3EB7 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 82FDB9D1262DCFD8009E3EB7 /* LaunchScreen.storyboard */; }; @@ -20,10 +21,11 @@ /* Begin PBXFileReference section */ 8214B70A262DE07A004467C2 /* MenuCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MenuCell.swift; sourceTree = ""; }; 8214B70D262DE253004467C2 /* MainTableViewDataSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTableViewDataSource.swift; sourceTree = ""; }; + 8214B710262DE4B4004467C2 /* MainTableViewDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTableViewDelegate.swift; sourceTree = ""; }; 82FDB9C3262DCFD8009E3EB7 /* sidedish.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = sidedish.app; sourceTree = BUILT_PRODUCTS_DIR; }; 82FDB9C6262DCFD8009E3EB7 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = ""; }; 82FDB9C8262DCFD8009E3EB7 /* SceneDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDelegate.swift; sourceTree = ""; }; - 82FDB9CA262DCFD8009E3EB7 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = ""; }; + 82FDB9CA262DCFD8009E3EB7 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = ""; }; 82FDB9CD262DCFD8009E3EB7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = ""; }; 82FDB9CF262DCFD8009E3EB7 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = ""; }; 82FDB9D2262DCFD8009E3EB7 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = ""; }; @@ -62,8 +64,9 @@ children = ( 82FDB9C6262DCFD8009E3EB7 /* AppDelegate.swift */, 82FDB9C8262DCFD8009E3EB7 /* SceneDelegate.swift */, - 82FDB9CA262DCFD8009E3EB7 /* ViewController.swift */, + 82FDB9CA262DCFD8009E3EB7 /* MainViewController.swift */, 8214B70D262DE253004467C2 /* MainTableViewDataSource.swift */, + 8214B710262DE4B4004467C2 /* MainTableViewDelegate.swift */, 8214B70A262DE07A004467C2 /* MenuCell.swift */, 82FDB9CC262DCFD8009E3EB7 /* Main.storyboard */, 82FDB9CF262DCFD8009E3EB7 /* Assets.xcassets */, @@ -143,11 +146,12 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 82FDB9CB262DCFD8009E3EB7 /* ViewController.swift in Sources */, + 82FDB9CB262DCFD8009E3EB7 /* MainViewController.swift in Sources */, 82FDB9C7262DCFD8009E3EB7 /* AppDelegate.swift in Sources */, 8214B70B262DE07A004467C2 /* MenuCell.swift in Sources */, 8214B70E262DE253004467C2 /* MainTableViewDataSource.swift in Sources */, 82FDB9C9262DCFD8009E3EB7 /* SceneDelegate.swift in Sources */, + 8214B711262DE4B4004467C2 /* MainTableViewDelegate.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/ios/sidedish/sidedish/Base.lproj/Main.storyboard b/ios/sidedish/sidedish/Base.lproj/Main.storyboard index 9e44c3f33..a6f30f98c 100644 --- a/ios/sidedish/sidedish/Base.lproj/Main.storyboard +++ b/ios/sidedish/sidedish/Base.lproj/Main.storyboard @@ -1,5 +1,5 @@ - + diff --git a/ios/sidedish/sidedish/MainTableViewDelegate.swift b/ios/sidedish/sidedish/MainTableViewDelegate.swift new file mode 100644 index 000000000..6dd4918c4 --- /dev/null +++ b/ios/sidedish/sidedish/MainTableViewDelegate.swift @@ -0,0 +1,28 @@ +// +// MainTableViewDelegate.swift +// sidedish +// +// Created by 박정하 on 2021/04/19. +// + +import UIKit + +class MainTableViewDelegate : NSObject, UITableViewDelegate { + + func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + let headerView = UIView.init(frame: CGRect.init(x: 0, y: 0, width: tableView.frame.width, height: 32)) + + let label = UILabel() //나중에 별도의 유즈케이스를 처리할 프로토콜 필요할 거 같아요 + label.frame = CGRect.init(x: 0, y: 0, width: headerView.frame.width, height: headerView.frame.height) + label.text = "모두가 좋아하는 든든한 메인요리" + label.font = .boldSystemFont(ofSize: 22) + + headerView.addSubview(label) + + return headerView + } + + func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + return 56 // headerView의 height(32) + figma에서 지정해 준 헤더와 셀 간의 간격! + } +} diff --git a/ios/sidedish/sidedish/ViewController.swift b/ios/sidedish/sidedish/MainViewController.swift similarity index 80% rename from ios/sidedish/sidedish/ViewController.swift rename to ios/sidedish/sidedish/MainViewController.swift index 7d1b56061..5364ce851 100644 --- a/ios/sidedish/sidedish/ViewController.swift +++ b/ios/sidedish/sidedish/MainViewController.swift @@ -11,20 +11,24 @@ class MainViewController: UIViewController { @IBOutlet weak var menuTableView: UITableView! private let tableViewDataSource : MainTableViewDataSource? + private let tableViewDelegate : MainTableViewDelegate? override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { self.tableViewDataSource = nil + self.tableViewDelegate = nil super.init(nibName: nil, bundle: nil) } required init?(coder: NSCoder) { self.tableViewDataSource = MainTableViewDataSource() + self.tableViewDelegate = MainTableViewDelegate() super.init(coder: coder) } override func loadView() { super.loadView() self.menuTableView.dataSource = tableViewDataSource + self.menuTableView.delegate = tableViewDelegate } override func viewDidLoad() {