瀏覽代碼

更新cocopods

南鑫林 6 年之前
父節點
當前提交
d289bd92f8
共有 15 個文件被更改,包括 732 次插入31 次删除
  1. 16 16
      RainbowPlanet/Podfile.lock
  2. 41 1
      RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj
  3. 1 1
      RainbowPlanet/RainbowPlanet/Modules/CommonModules/LocationModule/Location/ViewController/LocationViewController.swift
  4. 34 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/FloorBannerView.swift
  5. 48 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/FloorTitleView.swift
  6. 2 2
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductView/ProductHBigTableViewCell.swift
  7. 0 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ProductView/ProductHSmallTableViewCell.swift
  8. 1 1
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallBanner/ShoppingMallBannerTableViewCell.swift
  9. 3 5
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallCategory/ShoppingMallCategoryTableViewCell.swift
  10. 24 3
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallListView.swift
  11. 154 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallRightSideleftPicture/ShoppingMallRightSideleftPictureCollectionViewCell.swift
  12. 151 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallRightSideleftPicture/ShoppingMallRightSideleftPictureTableViewCell.swift
  13. 2 2
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSepcial/ShoppingMallSepcialTableViewCell.swift
  14. 129 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSlidingLeftRight/ShoppingMallSlidingLeftRightCollectionViewCell.swift
  15. 126 0
      RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSlidingLeftRight/ShoppingMallSlidingLeftRightTableViewCell.swift

+ 16 - 16
RainbowPlanet/Podfile.lock

@@ -10,26 +10,26 @@ PODS:
   - FSPagerView (0.8.2)
   - FWPopupView (4.0.3):
     - SnapKit
-  - IQKeyboardManagerSwift (6.2.1)
-  - JXSegmentedView (0.0.9)
+  - IQKeyboardManagerSwift (6.3.0)
+  - JXSegmentedView (0.0.11)
   - KeychainAccess (3.2.0)
   - Kingfisher (4.10.1)
   - LYEmptyView (1.2.3)
   - MBProgressHUD (1.1.0)
-  - MJRefresh (3.1.16)
-  - Moya/Core (13.0.0):
+  - MJRefresh (3.2.0)
+  - Moya/Core (13.0.1):
     - Alamofire (~> 4.1)
     - Result (~> 4.1)
-  - Moya/RxSwift (13.0.0):
+  - Moya/RxSwift (13.0.1):
     - Moya/Core
     - RxSwift (~> 4.0)
   - ObjectMapper (3.4.2)
   - PPBadgeViewSwift (3.0.0)
-  - Realm (3.14.2):
-    - Realm/Headers (= 3.14.2)
-  - Realm/Headers (3.14.2)
-  - RealmSwift (3.14.2):
-    - Realm (= 3.14.2)
+  - Realm (3.15.0):
+    - Realm/Headers (= 3.15.0)
+  - Realm/Headers (3.15.0)
+  - RealmSwift (3.15.0):
+    - Realm (= 3.15.0)
   - Result (4.1.0)
   - RichEditorView (5.0.0)
   - RxCocoa (4.5.0):
@@ -141,18 +141,18 @@ SPEC CHECKSUMS:
   FMDB: 2ce00b547f966261cd18927a3ddb07cb6f3db82a
   FSPagerView: 816a18842306973cc7cc6df8a5332272f7815c30
   FWPopupView: 3f6073a7aadc55cd34fbd30a1a96591d060c05d7
-  IQKeyboardManagerSwift: 0f0ae8935360b4003e6ea1ac7c19898f01e2f7c7
-  JXSegmentedView: fdffaf16305f92f82f6e9dbbad1fab095c30f804
+  IQKeyboardManagerSwift: a8228c257614af98743b4cd8584637025f36358f
+  JXSegmentedView: cb5f8841f64255ba86c68a8cbab24da72a75b11c
   KeychainAccess: 3b1bf8a77eb4c6ea1ce9404c292e48f948954c6b
   Kingfisher: c148cd7b47ebde9989f6bc7c27dcaa79d81279a0
   LYEmptyView: ea5827f3f81fcbec427f990005501991477bdae8
   MBProgressHUD: e7baa36a220447d8aeb12769bf0585582f3866d9
-  MJRefresh: 7798e16e53a5ef7f332dd05b27664db4e29530fd
-  Moya: 161263550064ff8a4948e8ff63137fd72a876292
+  MJRefresh: ed450d6eb9d3346a2cb033ab7eb6de090aeef437
+  Moya: f4a4b80ff2f8a4ffc208dfb31cd91636622fee6e
   ObjectMapper: 0d4402610f4e468903ae64629eec4784531e5c51
   PPBadgeViewSwift: b769847e864f46115cb2cd0c6764b4e3eb04f73e
-  Realm: 179c6706e3a49dbfe112e572fd3c03d3169bea35
-  RealmSwift: 1797f272fb51c555b764fada32e82159a2c65247
+  Realm: 9b834e1be6062f544805252c812348872dc5d4ed
+  RealmSwift: 8a41886f8ab6efef9eb8df97de2f2bb911561a79
   Result: bd966fac789cc6c1563440b348ab2598cc24d5c7
   RichEditorView: 1bbb07b87ca2d479ac29a6877014b38b8df233ef
   RxCocoa: cbf70265dc65a981d4ac982e513c10cf23df24a0

+ 41 - 1
RainbowPlanet/RainbowPlanet.xcodeproj/project.pbxproj

@@ -184,6 +184,12 @@
 		A7A98E4322804851005306E9 /* ShoppingMallSepcialFlowLayout.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A98E4222804851005306E9 /* ShoppingMallSepcialFlowLayout.swift */; };
 		A7A98E4522804C63005306E9 /* ShoppingMallSepcialCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7A98E4422804C63005306E9 /* ShoppingMallSepcialCollectionViewCell.swift */; };
 		A7B4E71A22811F770012914A /* ShoppingCarModoule.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = A7B4E71922811F770012914A /* ShoppingCarModoule.xcassets */; };
+		A7B4E71D22812DD70012914A /* ShoppingMallSlidingLeftRightTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E71C22812DD70012914A /* ShoppingMallSlidingLeftRightTableViewCell.swift */; };
+		A7B4E71F228131720012914A /* ShoppingMallSlidingLeftRightCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E71E228131720012914A /* ShoppingMallSlidingLeftRightCollectionViewCell.swift */; };
+		A7B4E721228151F40012914A /* FloorTitleView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E720228151F40012914A /* FloorTitleView.swift */; };
+		A7B4E723228154750012914A /* FloorBannerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E722228154750012914A /* FloorBannerView.swift */; };
+		A7B4E72622815DA30012914A /* ShoppingMallRightSideleftPictureTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E72522815DA30012914A /* ShoppingMallRightSideleftPictureTableViewCell.swift */; };
+		A7B4E728228160BA0012914A /* ShoppingMallRightSideleftPictureCollectionViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7B4E727228160BA0012914A /* ShoppingMallRightSideleftPictureCollectionViewCell.swift */; };
 		A7BB684F2268DCEC00AB07A2 /* SelfRecommendationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BB684D2268DCEC00AB07A2 /* SelfRecommendationViewController.swift */; };
 		A7BB68552268DE8600AB07A2 /* SelfRecommendationView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BB68542268DE8600AB07A2 /* SelfRecommendationView.swift */; };
 		A7BB6857226965C100AB07A2 /* SelfRecommendationHeaderCollectionReusableView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A7BB6856226965C100AB07A2 /* SelfRecommendationHeaderCollectionReusableView.swift */; };
@@ -443,6 +449,12 @@
 		A7A98E4222804851005306E9 /* ShoppingMallSepcialFlowLayout.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallSepcialFlowLayout.swift; sourceTree = "<group>"; };
 		A7A98E4422804C63005306E9 /* ShoppingMallSepcialCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallSepcialCollectionViewCell.swift; sourceTree = "<group>"; };
 		A7B4E71922811F770012914A /* ShoppingCarModoule.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = ShoppingCarModoule.xcassets; sourceTree = "<group>"; };
+		A7B4E71C22812DD70012914A /* ShoppingMallSlidingLeftRightTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallSlidingLeftRightTableViewCell.swift; sourceTree = "<group>"; };
+		A7B4E71E228131720012914A /* ShoppingMallSlidingLeftRightCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallSlidingLeftRightCollectionViewCell.swift; sourceTree = "<group>"; };
+		A7B4E720228151F40012914A /* FloorTitleView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloorTitleView.swift; sourceTree = "<group>"; };
+		A7B4E722228154750012914A /* FloorBannerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FloorBannerView.swift; sourceTree = "<group>"; };
+		A7B4E72522815DA30012914A /* ShoppingMallRightSideleftPictureTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallRightSideleftPictureTableViewCell.swift; sourceTree = "<group>"; };
+		A7B4E727228160BA0012914A /* ShoppingMallRightSideleftPictureCollectionViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ShoppingMallRightSideleftPictureCollectionViewCell.swift; sourceTree = "<group>"; };
 		A7BB684D2268DCEC00AB07A2 /* SelfRecommendationViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfRecommendationViewController.swift; sourceTree = "<group>"; };
 		A7BB68542268DE8600AB07A2 /* SelfRecommendationView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfRecommendationView.swift; sourceTree = "<group>"; };
 		A7BB6856226965C100AB07A2 /* SelfRecommendationHeaderCollectionReusableView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelfRecommendationHeaderCollectionReusableView.swift; sourceTree = "<group>"; };
@@ -1181,10 +1193,15 @@
 		A775CBFC2237483E00EBDCF8 /* View */ = {
 			isa = PBXGroup;
 			children = (
+				A7A98E0C227EBEE3005306E9 /* ProductView */,
+				A7B4E72422815AFB0012914A /* ShoppingMallRightSideleftPicture */,
+				A7B4E71B22812D390012914A /* ShoppingMallSlidingLeftRight */,
 				A7A98E3E22804647005306E9 /* ShoppingMallSepcial */,
 				A7A98E38228030F8005306E9 /* ShoppingMallCategory */,
 				A7A98E3422802A60005306E9 /* ShoppingMallBanner */,
 				A775CBFD2237493600EBDCF8 /* ShoppingMallNavigationBarView.swift */,
+				A7B4E720228151F40012914A /* FloorTitleView.swift */,
+				A7B4E722228154750012914A /* FloorBannerView.swift */,
 				A775CBFF223774A300EBDCF8 /* ShoppingMallView.swift */,
 				A7A98E3022801B10005306E9 /* ShoppingMallListView.swift */,
 			);
@@ -1434,7 +1451,6 @@
 			isa = PBXGroup;
 			children = (
 				A77F2CA42232010F001BD3F6 /* ShoppingMall */,
-				A7A98E0C227EBEE3005306E9 /* ProductView */,
 				A7A98E03227EB7FD005306E9 /* Category */,
 				A7A98E15227EECEA005306E9 /* Special */,
 			);
@@ -1743,6 +1759,24 @@
 			path = ShoppingMallSepcial;
 			sourceTree = "<group>";
 		};
+		A7B4E71B22812D390012914A /* ShoppingMallSlidingLeftRight */ = {
+			isa = PBXGroup;
+			children = (
+				A7B4E71C22812DD70012914A /* ShoppingMallSlidingLeftRightTableViewCell.swift */,
+				A7B4E71E228131720012914A /* ShoppingMallSlidingLeftRightCollectionViewCell.swift */,
+			);
+			path = ShoppingMallSlidingLeftRight;
+			sourceTree = "<group>";
+		};
+		A7B4E72422815AFB0012914A /* ShoppingMallRightSideleftPicture */ = {
+			isa = PBXGroup;
+			children = (
+				A7B4E72522815DA30012914A /* ShoppingMallRightSideleftPictureTableViewCell.swift */,
+				A7B4E727228160BA0012914A /* ShoppingMallRightSideleftPictureCollectionViewCell.swift */,
+			);
+			path = ShoppingMallRightSideleftPicture;
+			sourceTree = "<group>";
+		};
 		A7BB68512268DCF800AB07A2 /* SelfRecommendation */ = {
 			isa = PBXGroup;
 			children = (
@@ -2322,6 +2356,7 @@
 				A7284A75225465DD000BAEC4 /* SwiftMoyaNetWorkServicePay.swift in Sources */,
 				A77F2CC722320627001BD3F6 /* WRNavigationBar.swift in Sources */,
 				A7D46092227619CD00A5A54E /* BaiduToCityFactory.swift in Sources */,
+				A7B4E71D22812DD70012914A /* ShoppingMallSlidingLeftRightTableViewCell.swift in Sources */,
 				A71AA51C227219EF008FF1A5 /* EditExpressAddressView.swift in Sources */,
 				A7CC751122715AE3003C4F38 /* MessageDetailesTimeView.swift in Sources */,
 				A7BB684F2268DCEC00AB07A2 /* SelfRecommendationViewController.swift in Sources */,
@@ -2360,6 +2395,7 @@
 				A71AA50C2272126A008FF1A5 /* EditAddressFooterView.swift in Sources */,
 				A7CC7528227196C4003C4F38 /* AccountSecuritySetTableViewCell.swift in Sources */,
 				A72A726822321DBD00B21995 /* UMManager.swift in Sources */,
+				A7B4E721228151F40012914A /* FloorTitleView.swift in Sources */,
 				A729B5AD2266FF45004AE098 /* BindPhoneNumberView.swift in Sources */,
 				A7CC74E62270628B003C4F38 /* DeliveryMethodTypeModel.swift in Sources */,
 				A71AA51F22729F35008FF1A5 /* AuthorizationSwift.swift in Sources */,
@@ -2376,6 +2412,7 @@
 				A71AF0BA226F00F8001730FE /* SearchResultView.swift in Sources */,
 				A77F2CB52232010F001BD3F6 /* ShoppingMallViewController.swift in Sources */,
 				A71AA513227215B5008FF1A5 /* ExpressAddressListView.swift in Sources */,
+				A7B4E723228154750012914A /* FloorBannerView.swift in Sources */,
 				A7DC467F22783A47001F3EFC /* EditExpressAddressTableViewCell.swift in Sources */,
 				A7A98E4522804C63005306E9 /* ShoppingMallSepcialCollectionViewCell.swift in Sources */,
 				A7824B082271F53A00ABA381 /* EditSetDefaultTableViewCell.swift in Sources */,
@@ -2396,6 +2433,7 @@
 				A7CC74F122706FE3003C4F38 /* MessageOneCollectionViewCell.swift in Sources */,
 				A72A72D622321E2700B21995 /* ThirdPartyMacro.swift in Sources */,
 				A7284401224DBB7700F82F30 /* SwiftMoyaNetWorkServiceUser.swift in Sources */,
+				A7B4E728228160BA0012914A /* ShoppingMallRightSideleftPictureCollectionViewCell.swift in Sources */,
 				A72843FC224DB6B800F82F30 /* SwiftMoyaServiceUserApi.swift in Sources */,
 				A7CC750622714306003C4F38 /* MessageNoticeHeaderCollectionReusableView.swift in Sources */,
 				A7C3DD1A226422BF00FA262E /* SwiftMoyaServiceSMSApi.swift in Sources */,
@@ -2422,7 +2460,9 @@
 				A75414FD224B5F28002480B5 /* MobileLoginViewController.swift in Sources */,
 				A771F07C226D4E1C007999DB /* AddressPOITableViewCell.swift in Sources */,
 				A72A72AE22321DE000B21995 /* CountdownButton.swift in Sources */,
+				A7B4E72622815DA30012914A /* ShoppingMallRightSideleftPictureTableViewCell.swift in Sources */,
 				A7A98E28227FD6C6005306E9 /* ShoppingMallListViewController.swift in Sources */,
+				A7B4E71F228131720012914A /* ShoppingMallSlidingLeftRightCollectionViewCell.swift in Sources */,
 				A77F2CB72232010F001BD3F6 /* MineViewController.swift in Sources */,
 				A7778CA92244904500C7C47A /* Extension+Gifu.GIFImageView.swift in Sources */,
 				A7A98E02227E8900005306E9 /* ProductSearchListModel.swift in Sources */,

+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/CommonModules/LocationModule/Location/ViewController/LocationViewController.swift

@@ -79,7 +79,7 @@ class LocationViewController: BaseViewController {
             //隐藏
 //            self?.locationView.openCityListModel = openCityListModel
             //直接跳转
-            if openCityListModel?.data?.isEmpty ?? true {
+            if openCityListModel?.data?.isEmpty ?? true { //数据是空
                 self?.locationView.isHidden = true
                 self?.view.ly_hideEmpty()
                 self?.setDeliveryMethodType()

+ 34 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/FloorBannerView.swift

@@ -0,0 +1,34 @@
+//
+//  FloorBannerView.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class FloorBannerView: BaseView {
+    
+    override func setupViews() {
+        backgroundColor = kffffffColor
+        addSubview(bannerButton)
+    }
+    
+    override func setupLayouts() {
+        bannerButton.snp.makeConstraints { (make) in
+            make.left.equalTo(5)
+            make.bottom.top.equalToSuperview()
+            make.right.equalTo(-5)
+        }
+    }
+    
+    private lazy var bannerButton: UIButton = {
+        let bannerButton = UIButton(type: UIButton.ButtonType.custom)
+        bannerButton.setBackgroundImage(kImage(name: "logo"), for: UIControl.State.normal)
+        bannerButton.cornerRadius = 4
+        bannerButton.masksToBounds = true
+        return bannerButton
+    }()
+
+}

+ 48 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/FloorTitleView.swift

@@ -0,0 +1,48 @@
+//
+//  FloorTitleView.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class FloorTitleView: BaseView {
+    
+    override func setupViews() {
+        self.backgroundColor = kffffffColor
+        addSubview(lineLabel)
+        addSubview(titleLabel)
+    }
+    
+    override func setupLayouts() {
+        lineLabel.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.width.equalTo(4)
+            make.height.equalTo(15)
+            make.left.equalTo(10)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.centerY.equalToSuperview()
+            make.height.equalTo(25)
+            make.left.equalTo(lineLabel.snp.right).offset(10)
+        }
+    }
+    
+    private lazy var lineLabel: UILabel = {
+        let lineLabel = UILabel()
+        lineLabel.backgroundColor = kff724fColor
+        return lineLabel
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kMediumFont18
+        titleLabel.text = "今日推荐"
+        return titleLabel
+    }()
+    
+
+}

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductView/ProductHBigTableViewCell.swift

@@ -16,8 +16,8 @@ class ProductHBigTableViewCell: UITableViewCell {
         }
         set {
             var frame = newValue
-            frame.origin.x += 15
-            frame.size.width -= 2 * 15
+            frame.origin.x += 14
+            frame.size.width -= 2 * 14
             super.frame = frame
         }
     }

RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ProductView/ProductHSmallTableViewCell.swift → RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ProductView/ProductHSmallTableViewCell.swift


+ 1 - 1
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallBanner/ShoppingMallBannerTableViewCell.swift

@@ -19,7 +19,7 @@ class ShoppingMallBannerTableViewCell: UITableViewCell {
             var frame = newValue
             frame.origin.x += 14 * kScaleWidth
             frame.size.width -= 14 * kScaleWidth * 2
-            frame.origin.y += 10
+//            frame.origin.y += 10
             super.frame = frame
         }
     }

+ 3 - 5
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallCategory/ShoppingMallCategoryTableViewCell.swift

@@ -18,7 +18,7 @@ class ShoppingMallCategoryTableViewCell: UITableViewCell {
             var frame = newValue
             frame.origin.x += 14 * kScaleWidth
             frame.size.width -= 14 * kScaleWidth * 2
-            frame.origin.y += 10 
+//            frame.origin.y += 10 
             super.frame = frame
         }
     }
@@ -56,8 +56,7 @@ class ShoppingMallCategoryTableViewCell: UITableViewCell {
     
     private func setupLayouts() {
         collectionView.snp.remakeConstraints {(make) in
-            make.top.equalTo(10)
-            make.left.right.equalToSuperview()
+            make.top.left.right.equalToSuperview()
             make.bottom.lessThanOrEqualTo(self)
         }
     }
@@ -89,8 +88,7 @@ class ShoppingMallCategoryTableViewCell: UITableViewCell {
         //更新collectionView的高度约束
         let contentSize = self.collectionView.collectionViewLayout.collectionViewContentSize
         collectionView.snp.remakeConstraints { (make) in
-            make.top.equalTo(10)
-            make.left.right.equalToSuperview()
+            make.top.left.right.equalToSuperview()
             make.height.equalTo(contentSize.height)
             make.bottom.lessThanOrEqualTo(self)
         }

+ 24 - 3
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallListView.swift

@@ -40,7 +40,7 @@ class ShoppingMallListView: BaseView {
 
 extension ShoppingMallListView : UITableViewDelegate, UITableViewDataSource {
     func numberOfSections(in tableView: UITableView) -> Int {
-        return 3
+        return 5
     }
     
     func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
@@ -62,6 +62,16 @@ extension ShoppingMallListView : UITableViewDelegate, UITableViewDataSource {
         case 2:
             let cell = ShoppingMallSepcialTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
             return cell
+        case 3:
+            let cell = ShoppingMallSlidingLeftRightTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+            return cell
+            
+        case 4:
+            let cell = ShoppingMallRightSideleftPictureTableViewCell.cellWith(tableView: tableView, indexPath: indexPath)
+            cell.frame = tableView.bounds
+            cell.layoutIfNeeded()
+            cell.reloadData()
+            return cell
             
         default:
             return UITableViewCell()
@@ -76,7 +86,11 @@ extension ShoppingMallListView : UITableViewDelegate, UITableViewDataSource {
         case 1:
             return  UITableView.automaticDimension
         case 2:
-            return  (193 * kScaleWidth) + 10
+            return  (193 * kScaleWidth)
+        case 3:
+            return  200 + 50 + 90 * kScaleWidth
+        case 4:
+            return  UITableView.automaticDimension
         default:
             return 0
         }
@@ -84,12 +98,19 @@ extension ShoppingMallListView : UITableViewDelegate, UITableViewDataSource {
     }
     
     func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
-        return 0.000001
+        return 10
+    }
+    
+    func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
+        return nil
     }
     
     func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
         return 0.000001
     }
+    func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
+        return nil
+    }
     
 }
 

+ 154 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallRightSideleftPicture/ShoppingMallRightSideleftPictureCollectionViewCell.swift

@@ -0,0 +1,154 @@
+//
+//  ShoppingMallRightSideleftPictureCollectionViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class ShoppingMallRightSideleftPictureCollectionViewCell: UICollectionViewCell {
+    class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> ShoppingMallRightSideleftPictureCollectionViewCell {
+        let ID = "ShoppingMallRightSideleftPictureCollectionViewCell"
+        collectionView.register(ShoppingMallRightSideleftPictureCollectionViewCell.self, forCellWithReuseIdentifier: ID)
+        let cell : ShoppingMallRightSideleftPictureCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! ShoppingMallRightSideleftPictureCollectionViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    //MARK: - indexPath
+    var indexPath: IndexPath?{
+        didSet {
+            
+        }
+    }
+    //MARK: - 初始化
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    //MRAK: - 设置View
+    private func setupViews() {
+        addSubview(iconImagView)
+        addSubview(titleLabel)
+        addSubview(detailTitleLabel)
+        addSubview(sellNumberLabel)
+        addSubview(sellPriceLabel)
+        addSubview(markPriceLabel)
+        addSubview(plusButton)
+    }
+    
+    private func setupLayouts() {
+//        iconImagView.snp.makeConstraints { (make) in
+//            make.top.equalTo(10)
+//            make.left.equalTo(10)
+//            make.size.equalTo(120)
+//        }
+//        titleLabel.snp.makeConstraints { (make) in
+//            make.left.equalTo(iconImagView.snp.right).offset(10)
+//            make.top.equalTo(iconImagView)
+//            make.right.equalTo(-10)
+//        }
+//        detailTitleLabel.snp.makeConstraints { (make) in
+//            make.top.equalTo(titleLabel.snp.bottom).offset(10)
+//            make.right.left.equalTo(titleLabel)
+//        }
+//        sellNumberLabel.snp.makeConstraints { (make) in
+//            make.top.equalTo(detailTitleLabel.snp.bottom).offset(10)
+//            make.left.right.equalTo(detailTitleLabel)
+//        }
+//        sellPriceLabel.snp.remakeConstraints { (make) in
+//            make.left.equalTo(titleLabel)
+//            make.bottom.equalTo(iconImagView)
+//        }
+//        markPriceLabel.snp.remakeConstraints { (make) in
+//            make.left.equalTo(sellPriceLabel.snp.right).offset(5)
+//            make.bottom.equalTo(iconImagView)
+//        }
+//        plusButton.snp.makeConstraints { (make) in
+//            make.bottom.equalTo(iconImagView)
+//            make.right.equalTo(-10)
+//            make.size.equalTo(25)
+//        }
+        
+    }
+    
+    private lazy var iconImagView: UIImageView = {
+        let iconImagView = UIImageView()
+        iconImagView.image = kImage(name: "iconImagView")
+        return iconImagView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "海南冰糖心木瓜 1个装"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kScaleMediumFont15
+        titleLabel.textAlignment = .left
+        titleLabel.numberOfLines = 2
+        return titleLabel
+    }()
+    
+    private lazy var detailTitleLabel: UILabel = {
+        let detailTitleLabel = UILabel()
+        detailTitleLabel.text = "酸甜可口营养无限"
+        detailTitleLabel.textColor = k999999Color
+        detailTitleLabel.font = kScaleRegularFont12
+        detailTitleLabel.textAlignment = .left
+        return detailTitleLabel
+    }()
+    
+    private lazy var sellNumberLabel: UILabel = {
+        let sellNumberLabel = UILabel()
+        sellNumberLabel.text = "已售2400件"
+        sellNumberLabel.textColor = k333333Color
+        sellNumberLabel.font = kScaleRegularFont11
+        return sellNumberLabel
+    }()
+    
+    private lazy var sellPriceLabel: UILabel = {
+        let sellPriceLabel = UILabel()
+        sellPriceLabel.text = "¥11.8"
+        sellPriceLabel.textColor = kfe352bColor
+        sellPriceLabel.font = kScaleBoldFont15
+        sellPriceLabel.textAlignment = .left
+        return sellPriceLabel
+    }()
+    
+    private lazy var markPriceLabel: UILabel = {
+        let markPriceLabel = UILabel()
+        markPriceLabel.text = "¥24.4"
+        markPriceLabel.textColor = kbbbbbbColor
+        markPriceLabel.font = kScaleRegularFont13
+        let attrString = NSMutableAttributedString(string: "¥24.4")
+        attrString.changeStrikethrough(atAllStyle: NSUnderlineStyle.single, color: kbbbbbbColor)
+        markPriceLabel.attributedText = attrString
+        return markPriceLabel
+    }()
+    
+    private lazy var plusButton: UIButton = {
+        let plusButton = UIButton(type: UIButton.ButtonType.custom)
+        plusButton.setImage(kImage(name: "shopping_mall_plus"), for: UIControl.State.normal)
+        return plusButton
+    }()
+    
+//    var productSearchModel: ProductSearchModel? {
+//        didSet {
+//            iconImagView.kf.setImage(with: kURLImage(name: productSearchModel?.img ?? "pic_preload"), placeholder: kImage(name: "pic_preload"))
+//            titleLabel.text = productSearchModel?.nameSkuName
+//            detailTitleLabel.text = productSearchModel?.saleName
+//            sellNumberLabel.text = "已售\(productSearchModel?.totalCount ?? 0)件"
+//            sellPriceLabel.text = "¥\(productSearchModel?.price ?? 0)"
+//            let attributeString = NSMutableAttributedString(string:"¥\(productSearchModel?.originPrice ?? 0)")
+//            attributeString.changeStrikethrough(atAllStyle: NSUnderlineStyle.single, color: kbbbbbbColor)
+//            markPriceLabel.attributedText = attributeString
+//            
+//        }
+//    }
+}

+ 151 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallRightSideleftPicture/ShoppingMallRightSideleftPictureTableViewCell.swift

@@ -0,0 +1,151 @@
+//
+//  ShoppingMallRightSideleftPictureTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class ShoppingMallRightSideleftPictureTableViewCell: UITableViewCell {
+    override var frame: CGRect {
+        get {
+            return super.frame
+        }
+        set {
+            var frame = newValue
+            frame.origin.x += 14 * kScaleWidth
+            frame.size.width -= 14 * kScaleWidth * 2
+            super.frame = frame
+        }
+    }
+    
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingMallRightSideleftPictureTableViewCell {
+        let ID = "ShoppingMallRightSideleftPictureTableViewCell"
+        tableView.register(ShoppingMallRightSideleftPictureTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : ShoppingMallRightSideleftPictureTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! ShoppingMallRightSideleftPictureTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        cornerRadius = 4
+        masksToBounds = true
+        backgroundColor = kf7f8faColor
+        addSubview(floorTitleView)
+        addSubview(floorBannerView)
+        addSubview(collectionView)
+    }
+    
+    private func setupLayouts() {
+        floorTitleView.snp.remakeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(50)
+        }
+        floorBannerView.snp.remakeConstraints { (make) in
+            make.top.equalTo(50)
+            make.left.right.equalToSuperview()
+            make.height.equalTo(90 * kScaleWidth)
+        }
+        collectionView.snp.remakeConstraints {(make) in
+            make.top.equalTo(50 + 90 * kScaleWidth)
+            make.left.right.equalToSuperview()
+            make.height.equalTo(140)
+            make.bottom.lessThanOrEqualTo(self)
+        }
+    }
+    
+    private lazy var bgView: UIView = {
+        let bgView = UIView()
+        bgView.backgroundColor = UIColor.white
+        return bgView
+    }()
+    
+    private lazy var floorTitleView: FloorTitleView = {
+        let floorTitleView = FloorTitleView()
+        return floorTitleView
+    }()
+    
+    private lazy var floorBannerView: FloorBannerView = {
+        let floorBannerView = FloorBannerView()
+        return floorBannerView
+    }()
+    
+    private lazy var collectionView: UICollectionView = {
+        let collectionView = UICollectionView.init(frame: CGRect.zero, collectionViewLayout: collectionViewLayout)
+        collectionView.backgroundColor = UIColor.white
+        collectionView.delegate = self;
+        collectionView.dataSource = self;
+        collectionView.showsVerticalScrollIndicator = false
+        collectionView.showsHorizontalScrollIndicator = false
+        return collectionView
+    }()
+    
+    private lazy var collectionViewLayout: UICollectionViewFlowLayout = {
+        let collectionViewLayout = UICollectionViewFlowLayout.init()
+        collectionViewLayout.minimumLineSpacing = 0
+        collectionViewLayout.minimumInteritemSpacing = 0
+        return collectionViewLayout
+    }()
+    
+    //加载数据
+    func reloadData() {
+        
+        //collectionView重新加载数据
+        self.collectionView.reloadData()
+        //更新collectionView的高度约束
+        let contentSize = self.collectionView.collectionViewLayout.collectionViewContentSize
+        collectionView.snp.remakeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(contentSize.height)
+            make.bottom.lessThanOrEqualTo(self)
+        }
+
+        self.collectionView.collectionViewLayout.invalidateLayout()
+    }
+
+}
+
+extension ShoppingMallRightSideleftPictureTableViewCell: UICollectionViewDelegateFlowLayout,UICollectionViewDataSource {
+    func numberOfSections(in collectionView: UICollectionView) -> Int {
+        return 1
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        return 10
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+        let cell = ShoppingMallRightSideleftPictureCollectionViewCell.cellWith(collectionView: collectionView, indexPath: indexPath)
+        return cell
+        
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
+        return CGSize(width:kScaleWidth - 14 * kScaleWidth * 2, height: 140)
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
+        return UIEdgeInsets(top: 10, left: 0, bottom: 10, right: 0)
+    }
+    
+}
+

+ 2 - 2
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSepcial/ShoppingMallSepcialTableViewCell.swift

@@ -17,7 +17,7 @@ class ShoppingMallSepcialTableViewCell: UITableViewCell {
             var frame = newValue
             frame.origin.x += 14 * kScaleWidth
             frame.size.width -= 14 * kScaleWidth * 2
-            frame.origin.y += 10
+//            frame.origin.y += 10
             super.frame = frame
         }
     }
@@ -53,7 +53,7 @@ class ShoppingMallSepcialTableViewCell: UITableViewCell {
     }
     
     private func setupLayouts() {
-        collectionView.snp.makeConstraints { (make) in
+        collectionView.snp.remakeConstraints {(make) in
             make.edges.equalToSuperview()
         }
     }

+ 129 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSlidingLeftRight/ShoppingMallSlidingLeftRightCollectionViewCell.swift

@@ -0,0 +1,129 @@
+//
+//  ShoppingMallSlidingLeftRightCollectionViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class ShoppingMallSlidingLeftRightCollectionViewCell: UICollectionViewCell {
+    class func cellWith(collectionView:UICollectionView,indexPath:IndexPath) -> ShoppingMallSlidingLeftRightCollectionViewCell {
+        let ID = "ShoppingMallSlidingLeftRightCollectionViewCell"
+        collectionView.register(ShoppingMallSlidingLeftRightCollectionViewCell.self, forCellWithReuseIdentifier: ID)
+        let cell : ShoppingMallSlidingLeftRightCollectionViewCell = collectionView.dequeueReusableCell(withReuseIdentifier: ID, for: indexPath) as! ShoppingMallSlidingLeftRightCollectionViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    //MARK: - indexPath
+    var indexPath: IndexPath?{
+        didSet {
+            
+        }
+    }
+    //MARK: - 初始化
+    override init(frame: CGRect) {
+        super.init(frame: frame)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    //MRAK: - 设置View
+    private func setupViews() {
+        addSubview(iconImagView)
+        addSubview(titleLabel)
+        addSubview(detailTitleLabel)
+        addSubview(sellPriceLabel)
+        addSubview(markPriceLabel)
+        addSubview(plusButton)
+    }
+    
+    private func setupLayouts() {
+        iconImagView.snp.makeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(120)
+        }
+        titleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(iconImagView.snp.bottom).offset(4)
+            make.left.equalTo(5)
+            make.right.equalTo(-5)
+            make.height.equalTo(15)
+        }
+        detailTitleLabel.snp.makeConstraints { (make) in
+            make.top.equalTo(titleLabel.snp.bottom).offset(5)
+            make.right.left.equalTo(titleLabel)
+            make.height.equalTo(12)
+        }
+        sellPriceLabel.snp.remakeConstraints { (make) in
+            make.left.equalTo(titleLabel)
+            make.bottom.equalTo(5)
+        }
+        markPriceLabel.snp.remakeConstraints { (make) in
+            make.left.equalTo(sellPriceLabel.snp.right).offset(3)
+            make.bottom.equalTo(5)
+        }
+        plusButton.snp.makeConstraints { (make) in
+            make.bottom.equalTo(5)
+            make.right.equalTo(-5)
+            make.size.equalTo(22)
+        }
+        
+    }
+    
+    private lazy var iconImagView: UIImageView = {
+        let iconImagView = UIImageView()
+        iconImagView.image = kImage(name: "logo")
+        return iconImagView
+    }()
+    
+    private lazy var titleLabel: UILabel = {
+        let titleLabel = UILabel()
+        titleLabel.text = "海南冰糖心木瓜 1个装"
+        titleLabel.textColor = k333333Color
+        titleLabel.font = kScaleMediumFont15
+        titleLabel.textAlignment = .left
+        titleLabel.numberOfLines = 1
+        return titleLabel
+    }()
+    
+    private lazy var detailTitleLabel: UILabel = {
+        let detailTitleLabel = UILabel()
+        detailTitleLabel.text = "酸甜可口营养无限"
+        detailTitleLabel.textColor = k999999Color
+        detailTitleLabel.font = kScaleRegularFont12
+        detailTitleLabel.textAlignment = .left
+        return detailTitleLabel
+    }()
+    
+    private lazy var sellPriceLabel: UILabel = {
+        let sellPriceLabel = UILabel()
+        sellPriceLabel.text = "¥11.8"
+        sellPriceLabel.textColor = kfe352bColor
+        sellPriceLabel.font = kScaleBoldFont14
+        sellPriceLabel.textAlignment = .left
+        return sellPriceLabel
+    }()
+    
+    private lazy var markPriceLabel: UILabel = {
+        let markPriceLabel = UILabel()
+        markPriceLabel.text = "¥24.4"
+        markPriceLabel.textColor = kbbbbbbColor
+        markPriceLabel.font = kScaleRegularFont11
+        let attrString = NSMutableAttributedString(string: "¥24.4")
+        attrString.changeStrikethrough(atAllStyle: NSUnderlineStyle.single, color: kbbbbbbColor)
+        markPriceLabel.attributedText = attrString
+        return markPriceLabel
+    }()
+    
+    private lazy var plusButton: UIButton = {
+        let plusButton = UIButton(type: UIButton.ButtonType.custom)
+        plusButton.setImage(kImage(name: "shopping_mall_plus"), for: UIControl.State.normal)
+        return plusButton
+    }()
+    
+}

+ 126 - 0
RainbowPlanet/RainbowPlanet/Modules/ShoppingMallModule/ShoppingMall/View/ShoppingMallSlidingLeftRight/ShoppingMallSlidingLeftRightTableViewCell.swift

@@ -0,0 +1,126 @@
+//
+//  ShoppingMallSlidingLeftRightOneTableViewCell.swift
+//  RainbowPlanet
+//
+//  Created by 南鑫林 on 2019/5/7.
+//  Copyright © 2019 南鑫林. All rights reserved.
+//
+
+import UIKit
+
+class ShoppingMallSlidingLeftRightTableViewCell: UITableViewCell {
+    override var frame: CGRect {
+        get {
+            return super.frame
+        }
+        set {
+            let frame = newValue
+//            frame.origin.y += 10
+            super.frame = frame
+        }
+    }
+    class func cellWith(tableView:UITableView,indexPath:IndexPath) -> ShoppingMallSlidingLeftRightTableViewCell {
+        let ID = "ShoppingMallSlidingLeftRightTableViewCell"
+        tableView.register(ShoppingMallSlidingLeftRightTableViewCell.self, forCellReuseIdentifier: ID)
+        let cell : ShoppingMallSlidingLeftRightTableViewCell = tableView.dequeueReusableCell(withIdentifier: ID, for: indexPath) as! ShoppingMallSlidingLeftRightTableViewCell
+        cell.indexPath = indexPath
+        return cell
+    }
+    
+    override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
+        super.init(style: style, reuseIdentifier: reuseIdentifier)
+        setupViews()
+        setupLayouts()
+    }
+    
+    required init?(coder aDecoder: NSCoder) {
+        fatalError("init(coder:) has not been implemented")
+    }
+    
+    var indexPath: IndexPath? {
+        didSet {
+            
+        }
+    }
+    //MRAK: - 设置View
+    private func setupViews() {
+        self.selectionStyle = .none
+        backgroundColor = kf7f8faColor
+        addSubview(floorTitleView)
+        addSubview(floorBannerView)
+        addSubview(collectionView)
+    }
+    
+    private func setupLayouts() {
+        floorTitleView.snp.remakeConstraints { (make) in
+            make.top.left.right.equalToSuperview()
+            make.height.equalTo(50)
+        }
+        floorBannerView.snp.remakeConstraints { (make) in
+            make.top.equalTo(50)
+            make.left.right.equalToSuperview()
+            make.height.equalTo(90 * kScaleWidth)
+        }
+        collectionView.snp.remakeConstraints {(make) in
+            make.top.equalTo(50 + 90 * kScaleWidth)
+            make.left.right.equalToSuperview()
+            make.height.equalTo(200)
+        }
+    }
+    
+    private lazy var floorTitleView: FloorTitleView = {
+        let floorTitleView = FloorTitleView()
+        return floorTitleView
+    }()
+    
+    lazy var floorBannerView: FloorBannerView = {
+        let floorBannerView = FloorBannerView()
+        return floorBannerView
+    }()
+    
+    private lazy var collectionView: UICollectionView = {
+        let collectionView = UICollectionView.init(frame: CGRect.zero, collectionViewLayout: collectionViewLayout)
+        collectionView.backgroundColor = UIColor.white
+        collectionView.delegate = self;
+        collectionView.dataSource = self;
+        collectionView.showsVerticalScrollIndicator = false
+        collectionView.showsHorizontalScrollIndicator = false
+        collectionView.cornerRadius = 4
+        collectionView.masksToBounds = true
+        return collectionView
+    }()
+    
+    private lazy var collectionViewLayout: UICollectionViewFlowLayout = {
+        let collectionViewLayout = UICollectionViewFlowLayout.init()
+        collectionViewLayout.minimumLineSpacing = 7
+        collectionViewLayout.minimumInteritemSpacing = 0
+        collectionViewLayout.scrollDirection = .horizontal
+        return collectionViewLayout
+    }()
+    
+}
+
+extension ShoppingMallSlidingLeftRightTableViewCell: UICollectionViewDelegateFlowLayout,UICollectionViewDataSource {
+    func numberOfSections(in collectionView: UICollectionView) -> Int {
+        return 1
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
+        return 10
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
+        let cell = ShoppingMallSlidingLeftRightCollectionViewCell.cellWith(collectionView: collectionView, indexPath: indexPath)
+        return cell
+        
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
+        return CGSize(width:120, height: 180)
+    }
+    
+    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
+        return UIEdgeInsets(top: 10, left: 14, bottom: 10, right: 14)
+    }
+    
+}