diff --git a/README.md b/README.md new file mode 100644 index 0000000..d6de209 --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# iOS_SOPTMON +iOS 합동세미나 8조 레포 + + +## [1. 🎨 피그마 링크](https://www.figma.com/file/3TBc8FXGQe3RuYjuMogd0X/5%EC%B0%A8-%EC%84%B8%EB%AF%B8%EB%82%98-%3A-%ED%81%B4%EB%94%94%EC%84%9C-%ED%95%A9%EB%8F%99-%EC%84%B8%EB%AF%B8%EB%82%98-(%EB%94%94%EC%9E%90%EC%9D%B8-%EC%9E%91%EC%97%85%EB%AC%BC)?node-id=1%3A7&t=SLXzOP4lYG8Dd9ZR-1) + +## 2. 🛠 맡은 역할 + + - 카테고리 뷰 구현 + + ![image](https://user-images.githubusercontent.com/81157265/204575196-0069c69c-fc63-40f3-9d23-e6779f1dc7ba.png) ![image](https://user-images.githubusercontent.com/81157265/204575345-51f334b0-dcf4-485d-b673-3e3d8983efc6.png) + + +## 3. 📷 시연 영상 + +![Simulator Screen Recording - iPhone 14 Pro - 2022-11-30 at 00 57 16](https://user-images.githubusercontent.com/81157265/204578925-02e842f4-44ec-428b-b9df-14a0abcaaeb5.gif) diff --git a/TMON-iOS/TMON-iOS.xcodeproj/project.pbxproj b/TMON-iOS/TMON-iOS.xcodeproj/project.pbxproj index 51a4ed4..e81e09a 100644 --- a/TMON-iOS/TMON-iOS.xcodeproj/project.pbxproj +++ b/TMON-iOS/TMON-iOS.xcodeproj/project.pbxproj @@ -7,6 +7,14 @@ objects = { /* Begin PBXBuildFile section */ + 0265AC512930FDEB0062BA57 /* MainTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC502930FDEB0062BA57 /* MainTableViewCell.swift */; }; + 0265AC542930FE420062BA57 /* MainTableFooterVIew.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC532930FE420062BA57 /* MainTableFooterVIew.swift */; }; + 0265AC562930FE660062BA57 /* FooterCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC552930FE660062BA57 /* FooterCollectionViewCell.swift */; }; + 0265AC582930FE840062BA57 /* ExpandableTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC572930FE840062BA57 /* ExpandableTableViewCell.swift */; }; + 0265AC5A2930FEA10062BA57 /* MainTableHeaderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC592930FEA10062BA57 /* MainTableHeaderView.swift */; }; + 0265AC5D2930FEC80062BA57 /* HeaderCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC5C2930FEC80062BA57 /* HeaderCollectionViewCell.swift */; }; + 0265AC602930FEE70062BA57 /* CategoryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC5F2930FEE70062BA57 /* CategoryModel.swift */; }; + 0265AC622930FEFB0062BA57 /* CategoryExpandableModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0265AC612930FEFB0062BA57 /* CategoryExpandableModel.swift */; }; EA6CADB7292CAE6F00A47840 /* ListItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA6CADB6292CAE6F00A47840 /* ListItem.swift */; }; EA6CADB9292CAE8400A47840 /* ListSection.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA6CADB8292CAE8400A47840 /* ListSection.swift */; }; EA6CADBB292CAE9200A47840 /* MockData.swift in Sources */ = {isa = PBXBuildFile; fileRef = EA6CADBA292CAE9200A47840 /* MockData.swift */; }; @@ -49,6 +57,14 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ + 0265AC502930FDEB0062BA57 /* MainTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTableViewCell.swift; sourceTree = ""; }; + 0265AC532930FE420062BA57 /* MainTableFooterVIew.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTableFooterVIew.swift; sourceTree = ""; }; + 0265AC552930FE660062BA57 /* FooterCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FooterCollectionViewCell.swift; sourceTree = ""; }; + 0265AC572930FE840062BA57 /* ExpandableTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExpandableTableViewCell.swift; sourceTree = ""; }; + 0265AC592930FEA10062BA57 /* MainTableHeaderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainTableHeaderView.swift; sourceTree = ""; }; + 0265AC5C2930FEC80062BA57 /* HeaderCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HeaderCollectionViewCell.swift; sourceTree = ""; }; + 0265AC5F2930FEE70062BA57 /* CategoryModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryModel.swift; sourceTree = ""; }; + 0265AC612930FEFB0062BA57 /* CategoryExpandableModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CategoryExpandableModel.swift; sourceTree = ""; }; EA6CADB6292CAE6F00A47840 /* ListItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListItem.swift; sourceTree = ""; }; EA6CADB8292CAE8400A47840 /* ListSection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ListSection.swift; sourceTree = ""; }; EA6CADBA292CAE9200A47840 /* MockData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MockData.swift; sourceTree = ""; }; @@ -103,6 +119,35 @@ /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ + 0265AC4F2930FDC60062BA57 /* Cells */ = { + isa = PBXGroup; + children = ( + 0265AC502930FDEB0062BA57 /* MainTableViewCell.swift */, + 0265AC552930FE660062BA57 /* FooterCollectionViewCell.swift */, + 0265AC572930FE840062BA57 /* ExpandableTableViewCell.swift */, + 0265AC5C2930FEC80062BA57 /* HeaderCollectionViewCell.swift */, + ); + path = Cells; + sourceTree = ""; + }; + 0265AC522930FE250062BA57 /* CustomView */ = { + isa = PBXGroup; + children = ( + 0265AC532930FE420062BA57 /* MainTableFooterVIew.swift */, + 0265AC592930FEA10062BA57 /* MainTableHeaderView.swift */, + ); + path = CustomView; + sourceTree = ""; + }; + 0265AC5E2930FED60062BA57 /* Model */ = { + isa = PBXGroup; + children = ( + 0265AC5F2930FEE70062BA57 /* CategoryModel.swift */, + 0265AC612930FEFB0062BA57 /* CategoryExpandableModel.swift */, + ); + path = Model; + sourceTree = ""; + }; EA6CADB5292CAE3600A47840 /* CollectionViewCells */ = { isa = PBXGroup; children = ( @@ -358,6 +403,9 @@ EA8F38832924C6B500517CD4 /* CategoryMainScene */ = { isa = PBXGroup; children = ( + 0265AC5E2930FED60062BA57 /* Model */, + 0265AC522930FE250062BA57 /* CustomView */, + 0265AC4F2930FDC60062BA57 /* Cells */, EA8F38882924C71D00517CD4 /* CategoryMainViewController.swift */, ); path = CategoryMainScene; @@ -466,20 +514,28 @@ EA887AA1292498EE00F1E38E /* ColorLiterals.swift in Sources */, EA887A5D29248CD100F1E38E /* AppDelegate.swift in Sources */, EA8F38892924C71D00517CD4 /* CategoryMainViewController.swift in Sources */, + 0265AC542930FE420062BA57 /* MainTableFooterVIew.swift in Sources */, EA6CADBD292CBA7B00A47840 /* ImagePreviewCollectionViewCell.swift in Sources */, EA6CADC5292CBAF900A47840 /* CollectionViewHeaderReusableView.swift in Sources */, EA6CADC3292CBAB700A47840 /* TVONLIVECollectionViewCell.swift in Sources */, EA6CADBF292CBA8C00A47840 /* IconCollectionViewCell.swift in Sources */, + 0265AC512930FDEB0062BA57 /* MainTableViewCell.swift in Sources */, + 0265AC5A2930FEA10062BA57 /* MainTableHeaderView.swift in Sources */, EA6CADB7292CAE6F00A47840 /* ListItem.swift in Sources */, EA8F387D2924C0E500517CD4 /* ImageLiterals.swift in Sources */, EA872BD9292DFF1600DD2506 /* HomeViewRouter.swift in Sources */, + 0265AC622930FEFB0062BA57 /* CategoryExpandableModel.swift in Sources */, EA872BD5292DFCDC00DD2506 /* TVONLIVEListResponseDTO.swift in Sources */, EA8F38802924C4C800517CD4 /* TabBarViewController.swift in Sources */, EA887A5F29248CD100F1E38E /* SceneDelegate.swift in Sources */, + 0265AC602930FEE70062BA57 /* CategoryModel.swift in Sources */, EA872BD3292DFBE800DD2506 /* ProductRecommendResponseDTO.swift in Sources */, + 0265AC5D2930FEC80062BA57 /* HeaderCollectionViewCell.swift in Sources */, EA872BDB292E0D4B00DD2506 /* HomeViewAPIService.swift in Sources */, + 0265AC582930FE840062BA57 /* ExpandableTableViewCell.swift in Sources */, EA8F38872924C6DC00517CD4 /* HomeViewController.swift in Sources */, EA8F387B2924BFF900517CD4 /* FontLiterals.swift in Sources */, + 0265AC562930FE660062BA57 /* FooterCollectionViewCell.swift in Sources */, EA6CADC1292CBAA400A47840 /* ProductRecommendCollectionViewCell.swift in Sources */, EA6CADBB292CAE9200A47840 /* MockData.swift in Sources */, EA872BCD292DEAC800DD2506 /* CollectionViewFooterReusableView.swift in Sources */, diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/AppIcon.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/AppIcon.png new file mode 100644 index 0000000..70fd7af Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/AppIcon.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/Contents.json new file mode 100644 index 0000000..55451dc --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_abroad.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/category_icon_abroad.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/category_icon_abroad.png new file mode 100644 index 0000000..6147c96 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad 1.imageset/category_icon_abroad.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/Contents.json new file mode 100644 index 0000000..55451dc --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_abroad.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/category_icon_abroad.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/category_icon_abroad.png new file mode 100644 index 0000000..6147c96 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_abroad.imageset/category_icon_abroad.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/Contents.json new file mode 100644 index 0000000..d93558d --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_beauty.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/category_icon_beauty.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/category_icon_beauty.png new file mode 100644 index 0000000..d64e8da Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty 1.imageset/category_icon_beauty.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/Contents.json new file mode 100644 index 0000000..d93558d --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_beauty.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/category_icon_beauty.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/category_icon_beauty.png new file mode 100644 index 0000000..d64e8da Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_beauty.imageset/category_icon_beauty.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/Contents.json new file mode 100644 index 0000000..3794771 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_book.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/category_icon_book.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/category_icon_book.png new file mode 100644 index 0000000..ddc8000 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book 1.imageset/category_icon_book.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/Contents.json new file mode 100644 index 0000000..3794771 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_book.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/category_icon_book.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/category_icon_book.png new file mode 100644 index 0000000..ddc8000 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_book.imageset/category_icon_book.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/Contents.json new file mode 100644 index 0000000..3c0a86c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_car.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/category_icon_car.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/category_icon_car.png new file mode 100644 index 0000000..1efcd64 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car 1.imageset/category_icon_car.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/Contents.json new file mode 100644 index 0000000..3c0a86c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_car.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/category_icon_car.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/category_icon_car.png new file mode 100644 index 0000000..1efcd64 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_car.imageset/category_icon_car.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/Contents.json new file mode 100644 index 0000000..104d48b --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_child.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/category_icon_child.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/category_icon_child.png new file mode 100644 index 0000000..e36aa3f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child 1.imageset/category_icon_child.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/Contents.json new file mode 100644 index 0000000..104d48b --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_child.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/category_icon_child.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/category_icon_child.png new file mode 100644 index 0000000..e36aa3f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_child.imageset/category_icon_child.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/Contents.json new file mode 100644 index 0000000..99e666c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_clothes.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/category_icon_clothes.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/category_icon_clothes.png new file mode 100644 index 0000000..cfbfce6 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes 1.imageset/category_icon_clothes.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/Contents.json new file mode 100644 index 0000000..99e666c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_clothes.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/category_icon_clothes.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/category_icon_clothes.png new file mode 100644 index 0000000..cfbfce6 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_clothes.imageset/category_icon_clothes.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/Contents.json new file mode 100644 index 0000000..4452eae --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_coupon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/category_icon_coupon.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/category_icon_coupon.png new file mode 100644 index 0000000..a17e974 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon 1.imageset/category_icon_coupon.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/Contents.json new file mode 100644 index 0000000..4452eae --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_coupon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/category_icon_coupon.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/category_icon_coupon.png new file mode 100644 index 0000000..a17e974 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_coupon.imageset/category_icon_coupon.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/Contents.json new file mode 100644 index 0000000..9f99b58 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_digital.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/category_icon_digital.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/category_icon_digital.png new file mode 100644 index 0000000..9604b3f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital 1.imageset/category_icon_digital.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/Contents.json new file mode 100644 index 0000000..9f99b58 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_digital.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/category_icon_digital.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/category_icon_digital.png new file mode 100644 index 0000000..9604b3f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_digital.imageset/category_icon_digital.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/Contents.json new file mode 100644 index 0000000..c8df123 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_fashion.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/category_icon_fashion.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/category_icon_fashion.png new file mode 100644 index 0000000..869db0f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion 1.imageset/category_icon_fashion.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/Contents.json new file mode 100644 index 0000000..c8df123 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_fashion.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/category_icon_fashion.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/category_icon_fashion.png new file mode 100644 index 0000000..869db0f Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_fashion.imageset/category_icon_fashion.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/Contents.json new file mode 100644 index 0000000..7b9239c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_food.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/category_icon_food.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/category_icon_food.png new file mode 100644 index 0000000..e64e597 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food 1.imageset/category_icon_food.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/Contents.json new file mode 100644 index 0000000..7b9239c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_food.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/category_icon_food.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/category_icon_food.png new file mode 100644 index 0000000..e64e597 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_food.imageset/category_icon_food.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/Contents.json new file mode 100644 index 0000000..1c9f9fe --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_interior.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/category_icon_interior.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/category_icon_interior.png new file mode 100644 index 0000000..c65a7a2 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior 1.imageset/category_icon_interior.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/Contents.json new file mode 100644 index 0000000..1c9f9fe --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_interior.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/category_icon_interior.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/category_icon_interior.png new file mode 100644 index 0000000..c65a7a2 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_interior.imageset/category_icon_interior.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/Contents.json new file mode 100644 index 0000000..e919064 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_kitchen.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/category_icon_kitchen.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/category_icon_kitchen.png new file mode 100644 index 0000000..e514e94 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen 1.imageset/category_icon_kitchen.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/Contents.json new file mode 100644 index 0000000..e919064 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_kitchen.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/category_icon_kitchen.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/category_icon_kitchen.png new file mode 100644 index 0000000..e514e94 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_kitchen.imageset/category_icon_kitchen.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/Contents.json new file mode 100644 index 0000000..c84d477 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_pet.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/category_icon_pet.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/category_icon_pet.png new file mode 100644 index 0000000..209dbf7 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet 1.imageset/category_icon_pet.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/Contents.json new file mode 100644 index 0000000..c84d477 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_pet.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/category_icon_pet.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/category_icon_pet.png new file mode 100644 index 0000000..209dbf7 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_pet.imageset/category_icon_pet.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/Contents.json new file mode 100644 index 0000000..94938d1 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_show.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/category_icon_show.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/category_icon_show.png new file mode 100644 index 0000000..5d6edf7 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show 1.imageset/category_icon_show.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/Contents.json new file mode 100644 index 0000000..94938d1 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_show.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/category_icon_show.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/category_icon_show.png new file mode 100644 index 0000000..5d6edf7 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_show.imageset/category_icon_show.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/Contents.json new file mode 100644 index 0000000..6b96576 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_sports.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/category_icon_sports.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/category_icon_sports.png new file mode 100644 index 0000000..0657281 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports 1.imageset/category_icon_sports.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/Contents.json new file mode 100644 index 0000000..6b96576 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_sports.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/category_icon_sports.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/category_icon_sports.png new file mode 100644 index 0000000..0657281 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_sports.imageset/category_icon_sports.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/Contents.json new file mode 100644 index 0000000..42b736f --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_travel.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/category_icon_travel.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/category_icon_travel.png new file mode 100644 index 0000000..f6fdb69 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel 1.imageset/category_icon_travel.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/Contents.json new file mode 100644 index 0000000..42b736f --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_icon_travel.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/category_icon_travel.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/category_icon_travel.png new file mode 100644 index 0000000..f6fdb69 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_icon_travel.imageset/category_icon_travel.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/Contents.json new file mode 100644 index 0000000..c2e9863 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/category_img_ad1.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/category_img_ad1.png new file mode 100644 index 0000000..cb66a84 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1 1.imageset/category_img_ad1.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/Contents.json new file mode 100644 index 0000000..c2e9863 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad1.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/category_img_ad1.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/category_img_ad1.png new file mode 100644 index 0000000..cb66a84 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad1.imageset/category_img_ad1.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/Contents.json new file mode 100644 index 0000000..dc389a0 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/category_img_ad2.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/category_img_ad2.png new file mode 100644 index 0000000..4867591 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2 1.imageset/category_img_ad2.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/Contents.json new file mode 100644 index 0000000..dc389a0 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad2.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/category_img_ad2.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/category_img_ad2.png new file mode 100644 index 0000000..4867591 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad2.imageset/category_img_ad2.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/Contents.json new file mode 100644 index 0000000..878a02c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad3.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/category_img_ad3.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/category_img_ad3.png new file mode 100644 index 0000000..cd23f8b Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3 1.imageset/category_img_ad3.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/Contents.json new file mode 100644 index 0000000..878a02c --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "category_img_ad3.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/category_img_ad3.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/category_img_ad3.png new file mode 100644 index 0000000..cd23f8b Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/category_img_ad3.imageset/category_img_ad3.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/Contents.json new file mode 100644 index 0000000..f29a5dc --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "tmon_btn_remove.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/tmon_btn_remove.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/tmon_btn_remove.png new file mode 100644 index 0000000..d7001a2 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/Category_imageset/tmon_btn_remove.imageset/tmon_btn_remove.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/Contents.json new file mode 100644 index 0000000..aa12841 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "tmon_btn_collapsible.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/tmon_btn_collapsible.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/tmon_btn_collapsible.png new file mode 100644 index 0000000..a06cbd3 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_collapsible.imageset/tmon_btn_collapsible.png differ diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/Contents.json b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/Contents.json new file mode 100644 index 0000000..400cbd1 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/Contents.json @@ -0,0 +1,21 @@ +{ + "images" : [ + { + "filename" : "categoryRemove.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "idiom" : "universal", + "scale" : "2x" + }, + { + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/categoryRemove.png b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/categoryRemove.png new file mode 100644 index 0000000..d7001a2 Binary files /dev/null and b/TMON-iOS/TMON-iOS/Global/Resource/Assets.xcassets/tmon_btn_remove.imageset/categoryRemove.png differ diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CategoryMainViewController.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CategoryMainViewController.swift index dbbcc39..b2ce912 100644 --- a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CategoryMainViewController.swift +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CategoryMainViewController.swift @@ -6,10 +6,196 @@ // import UIKit +import SnapKit + +//MARK: - CategoryMainViewController class CategoryMainViewController: UIViewController { + + //MARK: - UI Components + private let titleLabel: UILabel = { + let label = UILabel() + label.text = "카테고리" + label.font = .systemFont(ofSize: 18, weight: .medium) + label.textAlignment = .center + return label + }() + + private let underLineView : UIView = { + let view = UIView() + view.backgroundColor = .grayColor2 + return view + }() + + private lazy var CategoryMainTableView: UITableView = { + let tableView = UITableView(frame: .zero, style: .grouped) + tableView.backgroundColor = .clear + tableView.translatesAutoresizingMaskIntoConstraints = false + tableView.separatorStyle = .singleLine + tableView.separatorColor = UIColor.grayColor3 + tableView.delegate = self + tableView.dataSource = self + return tableView + }() + + // MARK: - Life Cycles override func viewDidLoad() { super.viewDidLoad() + layout() + register() + + } + +} + +// MARK: - Extension + +extension CategoryMainViewController { + + // MARK: - Layout Helpers + + private func layout() { + view.backgroundColor = .white + [titleLabel,underLineView, CategoryMainTableView].forEach { + view.addSubview($0) + } + + titleLabel.snp.makeConstraints { + $0.top.equalTo(view.safeAreaLayoutGuide) + $0.centerX.equalTo(view.safeAreaLayoutGuide) + } + + + CategoryMainTableView.snp.makeConstraints { + $0.top.equalTo(titleLabel.snp.bottom).offset(14) + $0.leading.trailing.equalTo(view.safeAreaLayoutGuide) + $0.height.equalTo(50 * categoryMainData.count) + } + + underLineView.snp.makeConstraints { + $0.top.equalTo(titleLabel.snp.bottom).offset(13) + $0.width.equalTo(view.safeAreaLayoutGuide) + $0.height.equalTo(0.2) + } + } + + //MARK: - General Helpers + + private func register() { + CategoryMainTableView.register(MainTableViewCell.self, forCellReuseIdentifier: MainTableViewCell.identifier) + CategoryMainTableView.register(MainTableHeaderView.self, forHeaderFooterViewReuseIdentifier: MainTableHeaderView.identifier) + CategoryMainTableView.register(MainTableFooterView.self, forHeaderFooterViewReuseIdentifier: MainTableFooterView.identifier) + CategoryMainTableView.register(ExpandableTableViewCell.self, forCellReuseIdentifier: ExpandableTableViewCell.identifier) } } + + //MARK: - UITableViewDelegate + +extension CategoryMainViewController: UITableViewDelegate { + + func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { + guard let headerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: MainTableHeaderView.identifier) as? MainTableHeaderView else { + return UIView() + } + return headerView + } + + func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { + if section == 0 { + return 100 + }else { + return 0 + } + } + + func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? { + guard let footerView = tableView.dequeueReusableHeaderFooterView(withIdentifier: MainTableFooterView.identifier) as? MainTableFooterView else { + return UIView() + } + + return footerView + } + + func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { + if section == categoryMainData.count-1 { + return 400 + }else { + return 0 + } + } + + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { + if indexPath.row == 0 { + return 50 + }else { + return 140 + } + } +} + +//MARK: - UITableViewDataSource + +extension CategoryMainViewController: UITableViewDataSource { + + //section의 수 + func numberOfSections(in tableView: UITableView) -> Int { + return categoryMainData.count + } + + //numberOfRowsInsection : 하나의 section안에 row 몇개? + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { + //tableView Section이 펼쳐지면 Section Cell 하나에 expandable cell 1개 추가 + if categoryMainData[section].opened == true { + return 2 + }else { + //tableView Section이 닫혀 있을 경우에는 SectionCell 하나만 보여주면 됨 + return 1 + } + } + + //cellForRowAt: UITableViewCell을 리턴 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { + //Cell이 눌리지 않을때 + if indexPath.row == 0 { + guard let categoryCell = tableView.dequeueReusableCell(withIdentifier: MainTableViewCell.identifier, for: indexPath) + as? MainTableViewCell else {return UITableViewCell() } + categoryCell.categoryNameLabel.text = categoryMainData[indexPath.section].categoryName + categoryCell.categoryImageView.image = UIImage(named:categoryMainData[indexPath.section].categoryIconImage) + return categoryCell + + //Cell이 눌렸을 때 + }else { + guard let expandableCell = tableView.dequeueReusableCell(withIdentifier: ExpandableTableViewCell.identifier, for: indexPath) as? ExpandableTableViewCell else {return UITableViewCell() } + expandableCell.allLabel.text = CategoryExpandableData[indexPath.section].all + expandableCell.freshLabel.text = CategoryExpandableData[indexPath.section].fresh + expandableCell.processingLabel.text = CategoryExpandableData[indexPath.section].proccessing + expandableCell.healthLabel.text = CategoryExpandableData[indexPath.section].health + expandableCell.coffeeLabel.text = CategoryExpandableData[indexPath.section].coffee + return expandableCell + } + + } + + + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { + //셀 선택 시 회색에서 다시 변하게 해주는 것 + tableView.deselectRow(at: indexPath, animated: false) + + //section부분 선택하면 열리게 설정 + if indexPath.row == 0 { + // section이 열려있다면 다시 닫힐 수 있게 해주는 코드 + categoryMainData[indexPath.section].opened = !categoryMainData[indexPath.section].opened + + // 모든 데이터를 새로고침하는 것이 아닌 해당하는 섹션 부분만 새로고침 + tableView.reloadSections([indexPath.section], with: .none) + + //sectionData 부분을 선택하면 아무 작동하지 않게 설정 + }else { + + } + } + + +} + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/ExpandableTableViewCell.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/ExpandableTableViewCell.swift new file mode 100644 index 0000000..c11c78d --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/ExpandableTableViewCell.swift @@ -0,0 +1,97 @@ +// +// ExpandableTableViewCell.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/23. +// + +import UIKit +import SnapKit + +//MARK: - ExpandableTableViewCell +class ExpandableTableViewCell: UITableViewCell { + + //MARK: - identifier + static let identifier = "ExpandableTableViewCell" + + //MARK: - UI Components + let allLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16, weight: .light) + label.textColor = .black + return label + }() + + let freshLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16, weight: .light) + label.textColor = .black + return label + }() + + + let processingLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16, weight: .light) + label.textColor = .black + return label + }() + + let healthLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16, weight: .light) + label.textColor = .black + return label + }() + + let coffeeLabel: UILabel = { + let label = UILabel() + label.font = .systemFont(ofSize: 16, weight: .light) + label.textColor = .black + return label + }() + + override init(style: UITableViewCell.CellStyle,reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +extension ExpandableTableViewCell { + private func layout() { + backgroundColor = .grayColor4 + contentView.backgroundColor = .grayColor4 + + [allLabel, freshLabel, processingLabel, healthLabel, coffeeLabel].forEach { + contentView.addSubview($0) + } + + allLabel.snp.makeConstraints { + $0.top.equalTo(self.contentView.safeAreaLayoutGuide).offset(18) + $0.leading.equalTo(self.contentView.safeAreaLayoutGuide).offset(74) + } + freshLabel.snp.makeConstraints { + $0.top.equalTo(allLabel.snp.top) + $0.leading.equalTo(allLabel.snp.trailing).offset(114) + } + processingLabel.snp.makeConstraints { + $0.top.equalTo(allLabel.snp.bottom).offset(18) + $0.leading.equalTo(allLabel.snp.leading) + } + healthLabel.snp.makeConstraints { + $0.top.equalTo(processingLabel.snp.top) + $0.leading.equalTo(freshLabel.snp.leading) + } + coffeeLabel.snp.makeConstraints { + $0.top.equalTo(processingLabel.snp.bottom).offset(18) + $0.leading.equalTo(allLabel.snp.leading) + } + + } +} + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/FooterCollectionViewCell.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/FooterCollectionViewCell.swift new file mode 100644 index 0000000..5f7f44d --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/FooterCollectionViewCell.swift @@ -0,0 +1,63 @@ +// +// CategoryFooterCollectionViewCell.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/18. +// + +import UIKit +import SnapKit + +//MARK: - CategoryFooterCollectionViewCell +class FooterCollectionViewCell: UICollectionViewCell { + + //MARK: - Identifier + static let identifier = "FooterCollectionViewCell" + + //MARK: - UI Components + private let footerCollectionImageContainerView = UIView() + private let footerCollectinoImage = UIImageView() + + override init(frame: CGRect) { + super.init(frame: frame) + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +//MARK: - Extensions + +extension FooterCollectionViewCell { + + //MARK: - Layout Helpers + + private func layout() { + backgroundColor = .clear + contentView.backgroundColor = .clear + + contentView.addSubview(footerCollectionImageContainerView) + footerCollectionImageContainerView.addSubview(footerCollectinoImage) + + footerCollectionImageContainerView.snp.makeConstraints { + $0.centerY.equalToSuperview() + $0.centerX.equalToSuperview() + $0.width.equalTo(340) + $0.height.equalTo(200) + } + + footerCollectinoImage.snp.makeConstraints { + $0.edges.equalToSuperview() + } + } + + //MARK: - General Helpers + + func dataBind(model:CategoryFooterModel) { + footerCollectinoImage.image = UIImage(named: model.categoryFooterImage) + } +} + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/HeaderCollectionViewCell.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/HeaderCollectionViewCell.swift new file mode 100644 index 0000000..8f6a7ab --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/HeaderCollectionViewCell.swift @@ -0,0 +1,75 @@ +// +// HeaderCollectionViewCell.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/25. +// + +import UIKit + +//MARK: -HeaderCollectionViewCell +class HeaderCollectionViewCell: UICollectionViewCell { + + //MARK: - Identifier + static let identifier = "HeaderCollectionViewCell" + + //MARK: - UI Components + + private let categoryLabel: UILabel = { + let label = UILabel() + label.textColor = .grayColor2 + label.font = .systemFont(ofSize: 12.5, weight: .medium) + return label + }() + + let categoryRemoveBtn : UIButton = { + let button = UIButton() + button.setBackgroundImage(UIImage(named: "tmon_btn_remove"), for: .normal) + button.contentMode = .scaleAspectFit + return button + }() + + override init(frame: CGRect) { + super.init(frame: frame) + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +extension HeaderCollectionViewCell { + private func layout() { + contentView.layer.shadowColor = UIColor.black.cgColor + contentView.layer.shadowRadius = 4 + contentView.layer.shadowOpacity = 0.02 + contentView.layer.shadowOffset = CGSize(width: 0, height: 4) + contentView.layer.cornerRadius = contentView.frame.height / 2 + contentView.layer.masksToBounds = false + contentView.backgroundColor = .white + + [categoryLabel, categoryRemoveBtn].forEach { + contentView.addSubview($0) + } + + categoryLabel.snp.makeConstraints { + $0.leading.equalToSuperview().offset(10) + $0.centerY.equalToSuperview() + } + + categoryRemoveBtn.snp.makeConstraints { + $0.centerY.equalToSuperview() + $0.leading.equalTo(categoryLabel.snp.trailing).offset(7) + $0.width.height.equalTo(6.5) + } + } + + //MARK: - General Helpers + + func dataBind(model:CategoryMainModel) { + categoryLabel.text = model.categoryName + } +} + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/MainTableViewCell.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/MainTableViewCell.swift new file mode 100644 index 0000000..e33aa2b --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Cells/MainTableViewCell.swift @@ -0,0 +1,102 @@ +// +// CategoryMainTableViewCell.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/18. +// + +import UIKit +import SnapKit + +//MARK: - CategoryMainTableViewCell + +class MainTableViewCell: UITableViewCell { + + //MARK: - Identifier + + static let identifier = "MainTableViewCell" + + + //MARK: - UI Components + + let categoryImageContainerView : UIView = { + let view = UIView() + view.contentMode = .scaleAspectFit + return view + }() + + let categoryImageView : UIImageView = { + let image = UIImageView() + image.contentMode = .scaleAspectFit + return image + }() + + let categoryNameLabel : UILabel = { + let title = UILabel() + title.textColor = .black + title.font = UIFont(name: "suitRegular", size: 16) + return title + }() + + let categoryCollapsibleBtn : UIButton = { + let button = UIButton() + button.setBackgroundImage(UIImage(named: "tmon_btn_collapsible"), for: .normal) + button.contentMode = .scaleAspectFit + return button + }() + + override init(style: UITableViewCell.CellStyle,reuseIdentifier: String?) { + super.init(style: style, reuseIdentifier: reuseIdentifier) + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } + +} + +//MARK: - Extensions + +extension MainTableViewCell { + + //MARK: - Layout Helpers + + private func layout() { + backgroundColor = .clear + contentView.backgroundColor = .clear + + [categoryImageContainerView, categoryNameLabel, categoryCollapsibleBtn].forEach { + contentView.addSubview($0) + } + + categoryImageContainerView.addSubview(categoryImageView) + + categoryImageContainerView.snp.makeConstraints { + $0.centerY.equalToSuperview() + $0.leading.equalToSuperview().offset(29) + $0.width.height.equalTo(22) + } + + categoryImageView.snp.makeConstraints { + $0.edges.equalToSuperview() + } + + categoryNameLabel.snp.makeConstraints { + $0.centerY.equalToSuperview() + $0.leading.equalTo(categoryImageContainerView.snp.trailing).offset(25) + } + + categoryCollapsibleBtn.snp.makeConstraints { + $0.centerY.equalToSuperview() + $0.trailing.equalToSuperview().inset(29) + } + } + + //MARK: - General Helpers + func dataBind(model: CategoryMainModel) { + categoryImageView.image = UIImage(named: model.categoryIconImage) + categoryNameLabel.text = model.categoryName + } +} + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableFooterVIew.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableFooterVIew.swift new file mode 100644 index 0000000..dec115d --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableFooterVIew.swift @@ -0,0 +1,137 @@ +// +// CategoryMainFooterCell.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/18. +// + +import UIKit +import SnapKit + +//MARK: - CategoryMainTableFooterView +class MainTableFooterView: UITableViewHeaderFooterView { + + //MARK: - Identifier + static let identifier = "MainTableFooterView" + + //MARK: - UI Components + + private let devideView: UIView = { + let view = UIView() + view.backgroundColor = .grayColor4 + return view + }() + + private let titleLabel: UILabel = { + let label = UILabel() + label.text = "기획전" + label.font = UIFont(name: "SUIT-SemiBold", size: 18) + return label + }() + + private lazy var collectionView: UICollectionView = { + let layout = UICollectionViewFlowLayout() + layout.scrollDirection = .horizontal + let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) + collectionView.backgroundColor = .clear + collectionView.translatesAutoresizingMaskIntoConstraints = false + collectionView.isScrollEnabled = true + collectionView.showsHorizontalScrollIndicator = false + collectionView.delegate = self + collectionView.dataSource = self + return collectionView + + }() + +// final let collectionInset: UIEdgeInsets = UIEdgeInsets(top: 24, left: 0, bottom: 40, right: 0) + + override init(reuseIdentifier: String?) { + super.init(reuseIdentifier: reuseIdentifier) + register() + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +//MARK: - Extensions + +extension MainTableFooterView { + + //MARK - Layout Helpers + + private func layout() { + backgroundColor = .clear + contentView.backgroundColor = .white + + [devideView,titleLabel,collectionView].forEach { + contentView.addSubview($0) + } + + devideView.snp.makeConstraints { + $0.top.equalToSuperview() + $0.leading.trailing.equalTo(self.contentView.safeAreaLayoutGuide) + $0.height.equalTo(8) + } + + titleLabel.snp.makeConstraints{ + $0.top.equalToSuperview().offset(34) + $0.leading.equalToSuperview().offset(16) + + } + + collectionView.snp.makeConstraints { + $0.top.equalTo(titleLabel.snp.bottom).offset(24) + $0.leading.trailing.equalTo(self.contentView.safeAreaLayoutGuide) + $0.bottom.equalTo(self.contentView.safeAreaLayoutGuide).inset(140) + } + } + + //MARK: - General Helpers + + private func register() { + collectionView.register(FooterCollectionViewCell.self, forCellWithReuseIdentifier: FooterCollectionViewCell.identifier) + } +} + +//MARK: - UI CollectionView DelegateFlowLayout +extension MainTableFooterView: UICollectionViewDelegateFlowLayout { + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { + return 7 + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + return CGSize(width:340, height: 200) + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { + let totalCellWidth = 340 * 3 + let totalSpacingWidth = 7 * (3 - 1) + + let leftInset = (collectionView.frame.size + .width - CGFloat(totalCellWidth + totalSpacingWidth)) / 2 + let rightInset = leftInset + + return UIEdgeInsets(top: 0, left: leftInset, bottom: 0, right: rightInset) + } +} + +//MARK: - UI CollectionView DataSource + +extension MainTableFooterView: UICollectionViewDataSource { + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return categoryFooterData.count + } + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + guard let collectionCell = collectionView.dequeueReusableCell(withReuseIdentifier: FooterCollectionViewCell.identifier, for: indexPath) + as? FooterCollectionViewCell else { return UICollectionViewCell() } + collectionCell.dataBind(model: categoryFooterData[indexPath.item]) + return collectionCell + } +} + + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableHeaderView.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableHeaderView.swift new file mode 100644 index 0000000..da94956 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/CustomView/MainTableHeaderView.swift @@ -0,0 +1,142 @@ +// +// MainTableHeaderView.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/25. +// + +import UIKit + +class MainTableHeaderView: UITableViewHeaderFooterView { + + //MARK: - Identifier + static let identifier = "MainTableHeaderView" + + //MARK: - UI Components + + private let recentCategoryButton: UIButton = { + let button = UIButton() + button.setTitle("최근 본 카테고리", for: .normal) + button.setTitleColor(.mainColor, for: .normal) + button.titleLabel?.font = UIFont.systemFont(ofSize: 12.5, weight: .medium) + return button + }() + + private let devideLabel: UILabel = { + let label = UILabel() + label.text = "|" + label.textColor = .black + return label + }() + + private let pickCategoryButton: UIButton = { + let button = UIButton() + button.setTitle("찜한 카테고리", for: .normal) + button.titleLabel?.font = UIFont.systemFont(ofSize: 12.5, weight: .medium) + button.setTitleColor(.grayColor2, for: .normal) + return button + }() + + private lazy var headerCollectionView: UICollectionView = { + let layout = UICollectionViewFlowLayout() + layout.scrollDirection = .horizontal + let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) + collectionView.backgroundColor = .clear + collectionView.translatesAutoresizingMaskIntoConstraints = false + collectionView.isScrollEnabled = true + collectionView.showsHorizontalScrollIndicator = false + collectionView.delegate = self + collectionView.dataSource = self + return collectionView + + }() + + + override init(reuseIdentifier: String?) { + super.init(reuseIdentifier: reuseIdentifier) + register() + layout() + } + + required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +extension MainTableHeaderView { + private func layout() { + contentView.backgroundColor = .grayColor4 + + [recentCategoryButton, devideLabel, pickCategoryButton, headerCollectionView].forEach{ + contentView.addSubview($0) + } + + devideLabel.snp.makeConstraints { + $0.top.equalTo(recentCategoryButton.snp.top) + $0.centerX.equalTo(self.contentView.safeAreaLayoutGuide) + $0.width.equalTo(1.5) + $0.height.equalTo(12) + } + + recentCategoryButton.snp.makeConstraints{ + $0.top.equalTo(self.contentView.safeAreaLayoutGuide).offset(14) + $0.trailing.equalTo(devideLabel.snp.leading).offset(-9) + $0.width.equalTo(83) + $0.height.equalTo(18) + } + + pickCategoryButton.snp.makeConstraints { + $0.top.equalTo(recentCategoryButton.snp.top) + $0.leading.equalTo(devideLabel.snp.trailing).offset(9) + $0.width.equalTo(69) + $0.height.equalTo(18) + } + + headerCollectionView.snp.makeConstraints { + $0.top.equalTo(recentCategoryButton.snp.bottom).offset(20) + $0.leading.equalTo(self.contentView.safeAreaLayoutGuide).offset(17) + $0.trailing.equalTo(self.contentView.safeAreaLayoutGuide) + $0.bottom.equalToSuperview().inset(18) + } + } + + //MARK: - General Helpers + + private func register() { + headerCollectionView.register(HeaderCollectionViewCell.self, forCellWithReuseIdentifier: HeaderCollectionViewCell.identifier) + } +} + +//MARK: - UI CollectionView DelegateFlowLayout +extension MainTableHeaderView: UICollectionViewDelegateFlowLayout { + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat { + return 7 + } + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { + return CGSize(width: categoryMainData[indexPath.item].categoryName.size(withAttributes: [NSAttributedString.Key.font : UIFont.systemFont(ofSize: 14)]).width + 32.5, height: 30) + } + + + func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { + return UIEdgeInsets(top: 0, left: 0, bottom: 0, right: 0) + } +} + +//MARK: - UI CollectionView DataSource + +extension MainTableHeaderView: UICollectionViewDataSource { + + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { + return categoryMainData.count + } + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { + guard let collectionCell = headerCollectionView.dequeueReusableCell(withReuseIdentifier: HeaderCollectionViewCell.identifier, for: indexPath) + as? HeaderCollectionViewCell else { return UICollectionViewCell() } + collectionCell.dataBind(model: categoryMainData[indexPath.item]) + return collectionCell + } +} + + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryExpandableModel.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryExpandableModel.swift new file mode 100644 index 0000000..169f187 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryExpandableModel.swift @@ -0,0 +1,37 @@ +// +// CategoryExpandableModel.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/23. +// + +import Foundation + +struct CategoryExpandableModel { + var all: String + var fresh: String + var proccessing: String + var health: String + var coffee: String +} + +var CategoryExpandableData: [CategoryExpandableModel] = [ + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료"), + CategoryExpandableModel(all: "전체", fresh: "신선식품", proccessing: "가공식품", health: "건강식품/다이어트", coffee: "커피/음료") + ] + diff --git a/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryModel.swift b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryModel.swift new file mode 100644 index 0000000..90778f2 --- /dev/null +++ b/TMON-iOS/TMON-iOS/Screens/CategoryScene/CategoryMainScene/Model/CategoryModel.swift @@ -0,0 +1,46 @@ +// +// CategoryModel.swift +// TMON-iOS +// +// Created by 최효원 on 2022/11/18. +// + +import Foundation + +struct CategoryMainModel { + var opened: Bool + var categoryIconImage: String + var categoryName: String +} + +var categoryMainData: [CategoryMainModel] = [ + CategoryMainModel(opened: false, categoryIconImage: "category_icon_clothes", categoryName: "의류"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_fashion", categoryName: "패션잡화"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_beauty", categoryName: "뷰티"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_child", categoryName: "유아"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_food", categoryName: "식품"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_kitchen", categoryName: "생활・주방"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_interior", categoryName: "가구・인테리어"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_pet", categoryName: "반려동물용품"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_book", categoryName: "도서・교육・취미"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_sports", categoryName: "스포츠"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_digital", categoryName: "가전・디지털・컴퓨터"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_car", categoryName: "자동차"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_travel", categoryName: "여행"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_coupon", categoryName: "쿠폰・상품권"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_abroad", categoryName: "해외직구"), + CategoryMainModel(opened: false, categoryIconImage: "category_icon_show", categoryName: "공연・전시・체험") + +] + + +struct CategoryFooterModel { + let categoryFooterImage: String +} + +var categoryFooterData: [CategoryFooterModel] = [ + CategoryFooterModel(categoryFooterImage: "category_img_ad2"), + CategoryFooterModel(categoryFooterImage: "category_img_ad1"), + CategoryFooterModel(categoryFooterImage: "category_img_ad3") +] +