Commit ca6ffdebb2e9e9277b60671326b99281c818456c

Authored by “张旭”
1 parent 9b149f21

修复认证-上滑页、下滑页左右两侧边缘点击没有反应的问题 , 上滑页下滑页左右角遮盖的视图宽高设为0

metaCode.xcodeproj/project.pbxproj
@@ -134,6 +134,7 @@ @@ -134,6 +134,7 @@
134 19CC4D542ADD163D00308E2A /* CNUpSlideCardPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19CC4D532ADD163D00308E2A /* CNUpSlideCardPresentationController.swift */; }; 134 19CC4D542ADD163D00308E2A /* CNUpSlideCardPresentationController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19CC4D532ADD163D00308E2A /* CNUpSlideCardPresentationController.swift */; };
135 19CC4D562ADD19C200308E2A /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19CC4D552ADD19C200308E2A /* String+Extension.swift */; }; 135 19CC4D562ADD19C200308E2A /* String+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19CC4D552ADD19C200308E2A /* String+Extension.swift */; };
136 19D2CE632AE8B65D00691757 /* CNLiveDownSlideTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D2CE622AE8B65D00691757 /* CNLiveDownSlideTool.swift */; }; 136 19D2CE632AE8B65D00691757 /* CNLiveDownSlideTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19D2CE622AE8B65D00691757 /* CNLiveDownSlideTool.swift */; };
  137 + 19E302672BC8FEBC00F6B8BD /* CNLliveShopDetailCloseCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E302662BC8FEBC00F6B8BD /* CNLliveShopDetailCloseCell.swift */; };
137 19E9D1602B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E9D15F2B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift */; }; 138 19E9D1602B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E9D15F2B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift */; };
138 19E9D1622B3BBB2E00D0FB30 /* CNLiveFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E9D1612B3BBB2E00D0FB30 /* CNLiveFileManager.swift */; }; 139 19E9D1622B3BBB2E00D0FB30 /* CNLiveFileManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19E9D1612B3BBB2E00D0FB30 /* CNLiveFileManager.swift */; };
139 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */; }; 140 19F1C2332AB5728B0083D06C /* CNIDCardView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */; };
@@ -408,6 +409,7 @@ @@ -408,6 +409,7 @@
408 19CC4D532ADD163D00308E2A /* CNUpSlideCardPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNUpSlideCardPresentationController.swift; sourceTree = "<group>"; }; 409 19CC4D532ADD163D00308E2A /* CNUpSlideCardPresentationController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNUpSlideCardPresentationController.swift; sourceTree = "<group>"; };
409 19CC4D552ADD19C200308E2A /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = "<group>"; }; 410 19CC4D552ADD19C200308E2A /* String+Extension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = "String+Extension.swift"; sourceTree = "<group>"; };
410 19D2CE622AE8B65D00691757 /* CNLiveDownSlideTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveDownSlideTool.swift; sourceTree = "<group>"; }; 411 19D2CE622AE8B65D00691757 /* CNLiveDownSlideTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveDownSlideTool.swift; sourceTree = "<group>"; };
  412 + 19E302662BC8FEBC00F6B8BD /* CNLliveShopDetailCloseCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLliveShopDetailCloseCell.swift; sourceTree = "<group>"; };
411 19E9D15F2B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopAssociatedGoodsTableViewCell.swift; sourceTree = "<group>"; }; 413 19E9D15F2B3A98C200D0FB30 /* CNLiveShopAssociatedGoodsTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveShopAssociatedGoodsTableViewCell.swift; sourceTree = "<group>"; };
412 19E9D1612B3BBB2E00D0FB30 /* CNLiveFileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveFileManager.swift; sourceTree = "<group>"; }; 414 19E9D1612B3BBB2E00D0FB30 /* CNLiveFileManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveFileManager.swift; sourceTree = "<group>"; };
413 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIDCardView.swift; sourceTree = "<group>"; }; 415 19F1C2322AB5728B0083D06C /* CNIDCardView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNIDCardView.swift; sourceTree = "<group>"; };
@@ -877,6 +879,7 @@ @@ -877,6 +879,7 @@
877 1938BD4D2B512F4600390A34 /* ShopDetail */ = { 879 1938BD4D2B512F4600390A34 /* ShopDetail */ = {
878 isa = PBXGroup; 880 isa = PBXGroup;
879 children = ( 881 children = (
  882 + 19E302662BC8FEBC00F6B8BD /* CNLliveShopDetailCloseCell.swift */,
880 19BB1FF12AF21A950094D962 /* CNLliveShopDetailBannerCell.swift */, 883 19BB1FF12AF21A950094D962 /* CNLliveShopDetailBannerCell.swift */,
881 19565EBF2AF4DE0E007D6727 /* CNLiveShopDetailBtnsCell.swift */, 884 19565EBF2AF4DE0E007D6727 /* CNLiveShopDetailBtnsCell.swift */,
882 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */, 885 19565EC12AF616CA007D6727 /* CNLiveShopDetailOrderAssetCell.swift */,
@@ -1786,6 +1789,7 @@ @@ -1786,6 +1789,7 @@
1786 19BB202B2AF382150094D962 /* CNLiveAdaptTool.swift in Sources */, 1789 19BB202B2AF382150094D962 /* CNLiveAdaptTool.swift in Sources */,
1787 79E672032AFDFA9C00F2F768 /* CNLiveMineSignOutViewController.swift in Sources */, 1790 79E672032AFDFA9C00F2F768 /* CNLiveMineSignOutViewController.swift in Sources */,
1788 19565ECD2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift in Sources */, 1791 19565ECD2AF8D256007D6727 /* CNLiveShopGoodsListClassifyView.swift in Sources */,
  1792 + 19E302672BC8FEBC00F6B8BD /* CNLliveShopDetailCloseCell.swift in Sources */,
1789 1938BD322B4B8F0400390A34 /* CNLiveHomePageModel.swift in Sources */, 1793 1938BD322B4B8F0400390A34 /* CNLiveHomePageModel.swift in Sources */,
1790 191732EF2B075C3A007BCC04 /* CNLiveCreateShopClassifyViewController.swift in Sources */, 1794 191732EF2B075C3A007BCC04 /* CNLiveCreateShopClassifyViewController.swift in Sources */,
1791 1938BD302B4B8A3500390A34 /* CNLiveHomePageViewModel.swift in Sources */, 1795 1938BD302B4B8A3500390A34 /* CNLiveHomePageViewModel.swift in Sources */,
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
@@ -245,6 +245,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -245,6 +245,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
245 super.viewWillAppear(animated) 245 super.viewWillAppear(animated)
246 self.view.height = KSreenHeight 246 self.view.height = KSreenHeight
247 self.topNavView.isHidden = true 247 self.topNavView.isHidden = true
  248 + self.hiddenLeftRightView()
248 // print("22222222currentPageIndex:\(self.pageFlowView.currentPageIndex)") 249 // print("22222222currentPageIndex:\(self.pageFlowView.currentPageIndex)")
249 switch vNumPage { 250 switch vNumPage {
250 case .VNumPageMain://中间主页 251 case .VNumPageMain://中间主页
@@ -602,6 +603,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -602,6 +603,9 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
602 vNumPage = .VNumPageUp 603 vNumPage = .VNumPageUp
603 } 604 }
604 605
  606 + //左右上角遮盖的视图 宽高设为0
  607 + self.hiddenLeftRightView()
  608 +
605 if scrollView.contentOffset.y == KSreenHeight { 609 if scrollView.contentOffset.y == KSreenHeight {
606 self.view.height = self.tabBarY 610 self.view.height = self.tabBarY
607 611
@@ -617,6 +621,42 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel @@ -617,6 +621,42 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
617 // } 621 // }
618 } 622 }
619 } 623 }
  624 + // MARK: - 左右上角遮盖的视图 宽高设为0
  625 + func hiddenLeftRightView(){
  626 + let toIndex:Int = self.pageFlowView.currentPageIndex
  627 + if dataArray.count > toIndex{
  628 + if let identityModel = dataArray[toIndex] as? StandListModel{
  629 + if let toBannerView = self.pageFlowView.cells[toIndex] as? CNCustomIndexView{
  630 + self.pageFlowView.scrollView.bringSubviewToFront(toBannerView)
  631 + UIView.animate(withDuration: 0.2) {
  632 + toBannerView.downSlideView.frame = CGRectMake(-LeftGap, 0, KSreenWidth, KSreenHeight)
  633 + toBannerView.downSlideView.upSlideVC.view.height = KSreenHeight-DownSlideBottomViewHeight
  634 + if identityModel.id == 9{
  635 + toBannerView.downSlideView.shopConsoleVC.view.height = KSreenHeight-DownSlideBottomViewHeight
  636 + }
  637 + toBannerView.upSlideView.frame = CGRectMake(-LeftGap, KSreenHeight*2,KSreenWidth, KSreenHeight)
  638 + }
  639 +
  640 + }
  641 + }
  642 + }
  643 + if toIndex-1 >= 0{
  644 + if let toBannerViewLeftView = self.pageFlowView.cells[toIndex-1] as? CNCustomIndexView{
  645 + UIView.animate(withDuration: 0.2) {
  646 + toBannerViewLeftView.downSlideView.frame = CGRectMake(-LeftGap, 0, 0, 0)
  647 + toBannerViewLeftView.upSlideView.frame = CGRectMake(-LeftGap, KSreenHeight*2,0, 0)
  648 + }
  649 + }
  650 + }
  651 + if toIndex+1 < self.pageFlowView.cells.count{
  652 + if let toBannerViewRightView = self.pageFlowView.cells[toIndex+1] as? CNCustomIndexView{
  653 + UIView.animate(withDuration: 0.2) {
  654 + toBannerViewRightView.downSlideView.frame = CGRectMake(-LeftGap, 0, 0, 0)
  655 + toBannerViewRightView.upSlideView.frame = CGRectMake(-LeftGap, KSreenHeight*2,0, 0)
  656 + }
  657 + }
  658 + }
  659 + }
620 660
621 //MARK: - 网络请求获取身份列表 661 //MARK: - 网络请求获取身份列表
622 func getUserIdentityApi() 662 func getUserIdentityApi()
metaCode/Classes/Main/HomePage/Controller/ShopUpDetail/CNLiveDownShopDetailController.swift
@@ -13,6 +13,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -13,6 +13,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
13 let kCNLiveShopDetailDefaultCellID = "kCNLiveShopDetailDefaultCellID" 13 let kCNLiveShopDetailDefaultCellID = "kCNLiveShopDetailDefaultCellID"
14 let kCNLiveShopDetailHeaderViewID = "kCNLiveShopDetailHeaderViewID" 14 let kCNLiveShopDetailHeaderViewID = "kCNLiveShopDetailHeaderViewID"
15 15
  16 + let kCNLiveShopDetailCloseCellID = "kCNLiveShopDetailCloseCellID"
16 let kCNLiveShopDetailBannerCellID = "kCNLiveShopDetailBannerCellID" 17 let kCNLiveShopDetailBannerCellID = "kCNLiveShopDetailBannerCellID"
17 let kCNLiveShopDetailBtnsCellID = "kCNLiveShopDetailBtnsCellID" 18 let kCNLiveShopDetailBtnsCellID = "kCNLiveShopDetailBtnsCellID"
18 let kCNLiveShopDetailOrderAssetCellID = "kCNLiveShopDetailOrderAssetCellID" 19 let kCNLiveShopDetailOrderAssetCellID = "kCNLiveShopDetailOrderAssetCellID"
@@ -22,56 +23,21 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -22,56 +23,21 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
22 let shopDetailModel = CNLiveShopDetailModel() 23 let shopDetailModel = CNLiveShopDetailModel()
23 return shopDetailModel 24 return shopDetailModel
24 }() 25 }()
25 - override func touchesBegan(_ touches: Set<UITouch>, with event: UIEvent?) {  
26 - let upSlideView = self.view.superview as! CNUpSlideView  
27 - let scrollView = upSlideView.superview as! UIScrollView  
28 - scrollView.setContentOffset(CGPoint(x: 0, y: scrollView.height), animated: true)  
29 -  
30 - let result:Dictionary = ["AuthVNumPage":2]  
31 - NotificationCenter.default.post(name: Notification.Name.AuthVNumPageManage.kAuthVNumPageChangedNotification, object: nil, userInfo: result)  
32 -  
33 - currentViewController()?.tabBarController?.tabBar.isHidden = false  
34 -  
35 - let metaVC = currentViewController() as! CNMetaCodeHomePageController  
36 - let index = metaVC.pageFlowView.currentPageIndex  
37 - let customIndexView = metaVC.pageFlowView.viewWithTag(100+index) as! CNCustomIndexView  
38 - customIndexView.superScrollView?.isScrollEnabled = true  
39 - }  
40 -// lazy var closeBtn: UIButton = {  
41 -// let closeBtn = UIButton(type: .custom)  
42 -// closeBtn.frame = CGRect(x: KSreenWidth-50, y: KStatusBarHeight, width: 50, height: KNavigationHeight-KStatusBarHeight)  
43 -// closeBtn.setImage(UIImage(named: "mine_header_icon_close"), for: .normal)  
44 -// closeBtn.addTarget(self, action: #selector(closeBtnAction), for: .touchUpInside)  
45 -// closeBtn.isUserInteractionEnabled = false  
46 -// return closeBtn  
47 -// }()  
48 -  
49 -// lazy var navView: UIView = {  
50 -// let closeBtn = UIView(frame: CGRect(x: 0, y: KStatusBarHeight, width: KSreenWidth-50, height: KNavigationHeight-KStatusBarHeight))  
51 -// closeBtn.backgroundColor = .yellow  
52 -// return closeBtn  
53 -// }()  
54 - lazy var closeBtn: UIImageView = {  
55 - let closeBtn = UIImageView(frame: CGRect(x: KSreenWidth-35, y: KStatusBarHeight+(KNavigationHeight-KStatusBarHeight-20)*0.5, width: 20, height: 20))  
56 - closeBtn.image = UIImage(named: "mine_header_icon_close")  
57 -// closeBtn.isUserInteractionEnabled = true  
58 -// let tap = UITapGestureRecognizer.init(target: self, action: #selector(closeBtnAction))  
59 -// closeBtn.addGestureRecognizer(tap)  
60 - return closeBtn  
61 - }()  
62 -  
63 lazy var collectionView: UICollectionView = { 26 lazy var collectionView: UICollectionView = {
64 let layout = UICollectionViewFlowLayout.init() 27 let layout = UICollectionViewFlowLayout.init()
65 let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout) 28 let collectionView = UICollectionView(frame: .zero, collectionViewLayout: layout)
66 collectionView.delegate = self 29 collectionView.delegate = self
67 collectionView.dataSource = self 30 collectionView.dataSource = self
68 collectionView.backgroundColor = .white 31 collectionView.backgroundColor = .white
69 -// collectionView.register(CNLiveShopConsoleHeaderView.self, forSupplementaryViewOfKind: UICollectionView.elementKindSectionHeader, withReuseIdentifier: kCNLiveShopConsoleCollectionReusableHeaderViewID) 32 +
  33 + collectionView.register(CNLliveShopDetailCloseCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailCloseCellID)
  34 +
70 collectionView.register(CNLliveShopDetailBannerCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailBannerCellID) 35 collectionView.register(CNLliveShopDetailBannerCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailBannerCellID)
71 collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailDefaultCellID) 36 collectionView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailDefaultCellID)
72 collectionView.register(CNLiveShopDetailBtnsCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailBtnsCellID) 37 collectionView.register(CNLiveShopDetailBtnsCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailBtnsCellID)
73 collectionView.register(CNLiveShopDetailOrderAssetCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailOrderAssetCellID) 38 collectionView.register(CNLiveShopDetailOrderAssetCell.self, forCellWithReuseIdentifier: kCNLiveShopDetailOrderAssetCellID)
74 39
  40 +
75 return collectionView 41 return collectionView
76 }() 42 }()
77 43
@@ -80,12 +46,8 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -80,12 +46,8 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
80 self.getShopDetailApi() 46 self.getShopDetailApi()
81 self.view.addSubview(collectionView) 47 self.view.addSubview(collectionView)
82 collectionView.snp.makeConstraints { make in 48 collectionView.snp.makeConstraints { make in
83 - make.top.equalToSuperview().offset(KNavigationHeight)  
84 - make.left.bottom.right.equalToSuperview() 49 + make.top.left.bottom.right.equalToSuperview()
85 } 50 }
86 - self.view.addSubview(self.closeBtn)  
87 -// self.view.addSubview(navView)  
88 -  
89 } 51 }
90 52
91 // MARK: BtnAction 53 // MARK: BtnAction
@@ -102,15 +64,13 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -102,15 +64,13 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
102 let index = metaVC.pageFlowView.currentPageIndex 64 let index = metaVC.pageFlowView.currentPageIndex
103 let customIndexView = metaVC.pageFlowView.viewWithTag(100+index) as! CNCustomIndexView 65 let customIndexView = metaVC.pageFlowView.viewWithTag(100+index) as! CNCustomIndexView
104 customIndexView.superScrollView?.isScrollEnabled = true 66 customIndexView.superScrollView?.isScrollEnabled = true
105 -// customIndexView.baseScrollView.setContentOffset(CGPoint(x: 0, y: customIndexView.baseScrollView.height), animated: true)  
106 -// currentViewController()?.tabBarController?.tabBar.isHidden = false  
107 } 67 }
108 - 68 +
109 // MARK: - UICollectionViewDelegate 69 // MARK: - UICollectionViewDelegate
110 func numberOfSections(in collectionView: UICollectionView) -> Int { 70 func numberOfSections(in collectionView: UICollectionView) -> Int {
111 if self.shopDetailModel.is_seller != nil{ 71 if self.shopDetailModel.is_seller != nil{
112 if self.shopDetailModel.is_seller == true{ 72 if self.shopDetailModel.is_seller == true{
113 - return 5 73 + return 6
114 }else{//非商家,不处理 74 }else{//非商家,不处理
115 return 3 75 return 3
116 } 76 }
@@ -121,7 +81,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -121,7 +81,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
121 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { 81 func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
122 if self.shopDetailModel.is_seller != nil { 82 if self.shopDetailModel.is_seller != nil {
123 if (self.shopDetailModel.is_seller == true) { 83 if (self.shopDetailModel.is_seller == true) {
124 - if (section == 4) { 84 + if (section == 5) {
125 let count = self.shopDetailModel.dynamic.count 85 let count = self.shopDetailModel.dynamic.count
126 return count == 0 ? 1 : count 86 return count == 0 ? 1 : count
127 }else { 87 }else {
@@ -144,12 +104,15 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -144,12 +104,15 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
144 // } 104 // }
145 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell { 105 func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
146 switch indexPath.section { 106 switch indexPath.section {
147 - case 0://banner轮播图 107 + case 0://close关闭
  108 + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailCloseCellID, for: indexPath) as! CNLliveShopDetailCloseCell
  109 + return cell
  110 + case 1://banner轮播图
148 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailBannerCellID, for: indexPath) as! CNLliveShopDetailBannerCell 111 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailBannerCellID, for: indexPath) as! CNLliveShopDetailBannerCell
149 112
150 cell.shopDetailModel = self.shopDetailModel 113 cell.shopDetailModel = self.shopDetailModel
151 return cell 114 return cell
152 - case 1://btn 115 + case 2://btn
153 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) { 116 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) {
154 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailBtnsCellID, for: indexPath) as! CNLiveShopDetailBtnsCell 117 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailBtnsCellID, for: indexPath) as! CNLiveShopDetailBtnsCell
155 cell.shopDetailModel = self.shopDetailModel 118 cell.shopDetailModel = self.shopDetailModel
@@ -158,7 +121,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -158,7 +121,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
158 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath) 121 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath)
159 return cell 122 return cell
160 } 123 }
161 - case 2://我的订单 124 + case 3://我的订单
162 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) { 125 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) {
163 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailOrderAssetCellID, for: indexPath) as! CNLiveShopDetailOrderAssetCell 126 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailOrderAssetCellID, for: indexPath) as! CNLiveShopDetailOrderAssetCell
164 cell.displayType = .CNLiveShopDetailDisplayTypeOrder 127 cell.displayType = .CNLiveShopDetailDisplayTypeOrder
@@ -168,7 +131,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -168,7 +131,7 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
168 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath) 131 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath)
169 return cell 132 return cell
170 } 133 }
171 - case 3://我的资产 134 + case 4://我的资产
172 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) { 135 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) {
173 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailOrderAssetCellID, for: indexPath) as! CNLiveShopDetailOrderAssetCell 136 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailOrderAssetCellID, for: indexPath) as! CNLiveShopDetailOrderAssetCell
174 cell.displayType = .CNLiveShopDetailDisplayTypeAsset 137 cell.displayType = .CNLiveShopDetailDisplayTypeAsset
@@ -178,7 +141,6 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -178,7 +141,6 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
178 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath) 141 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath)
179 return cell 142 return cell
180 } 143 }
181 -// case 4:  
182 default: 144 default:
183 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath) 145 let cell = collectionView.dequeueReusableCell(withReuseIdentifier: kCNLiveShopDetailDefaultCellID, for: indexPath)
184 return cell 146 return cell
@@ -186,19 +148,27 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD @@ -186,19 +148,27 @@ class CNLiveDownShopDetailController:CNLiveBaseViewController, UICollectionViewD
186 148
187 } 149 }
188 150
  151 + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
  152 + if indexPath.section == 0{
  153 + self.closeBtnAction()
  154 + }
  155 + }
  156 +
189 // MARK: - UICollectionViewDelegateFlowLayout 157 // MARK: - UICollectionViewDelegateFlowLayout
190 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize { 158 func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
191 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) { 159 if (self.shopDetailModel.is_seller != nil && self.shopDetailModel.is_seller == true) {
192 switch (indexPath.section) { 160 switch (indexPath.section) {
193 - case 0://banner 161 + case 0://close
  162 + return CGSize(width: KSreenWidth, height: KNavigationHeight)
  163 + case 1://banner
194 return CGSize(width: KSreenWidth, height: CNLiveAdaptTool.adaptLength(length: 210)) 164 return CGSize(width: KSreenWidth, height: CNLiveAdaptTool.adaptLength(length: 210))
195 - case 1://btn 165 + case 2://btn
196 return CGSize(width: KSreenWidth, height: 10+45+5+17+15) 166 return CGSize(width: KSreenWidth, height: 10+45+5+17+15)
197 - case 2://我的订单 167 + case 3://我的订单
198 return CGSize(width: KSreenWidth, height: 10+25+15+CNLiveAdaptTool.adaptLength(length: tempOrderZiChanHeight)+15) 168 return CGSize(width: KSreenWidth, height: 10+25+15+CNLiveAdaptTool.adaptLength(length: tempOrderZiChanHeight)+15)
199 - case 3://我的资产 169 + case 4://我的资产
200 return CGSize(width: KSreenWidth, height: 10+25+15+CNLiveAdaptTool.adaptLength(length: tempOrderZiChanHeight)+15) 170 return CGSize(width: KSreenWidth, height: 10+25+15+CNLiveAdaptTool.adaptLength(length: tempOrderZiChanHeight)+15)
201 - case 4:// 171 + case 5://
202 return CGSize(width: KSreenWidth, height: 50) 172 return CGSize(width: KSreenWidth, height: 50)
203 default: 173 default:
204 return CGSizeZero 174 return CGSizeZero
metaCode/Classes/Main/HomePage/View/Shop/ShopDetail/CNLliveShopDetailCloseCell.swift 0 → 100644
  1 +//
  2 +// CNLliveShopDetailCloseCell.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2024/4/12.
  6 +// 电商上滑页-close cell
  7 +
  8 +import Foundation
  9 +
  10 +class CNLliveShopDetailCloseCell: UICollectionViewCell {
  11 + lazy var closeBtn: UIImageView = {
  12 + let closeBtn = UIImageView(frame: CGRect(x: KSreenWidth-35, y: KStatusBarHeight+(KNavigationHeight-KStatusBarHeight-20)*0.5, width: 20, height: 20))
  13 + closeBtn.image = UIImage(named: "mine_header_icon_close")
  14 + return closeBtn
  15 + }()
  16 +
  17 + override init(frame: CGRect) {
  18 + super.init(frame: frame)
  19 + self.setUI()
  20 + }
  21 +
  22 + required init?(coder: NSCoder) {
  23 + fatalError("init(coder:) has not been implemented")
  24 + }
  25 +
  26 + func setUI(){
  27 + self.backgroundColor = .white
  28 + self.contentView.addSubview(self.closeBtn)
  29 + }
  30 +
  31 +}
metaCode/Classes/Vendors/NewPagedFlowView.m
@@ -557,6 +557,22 @@ static NSString *subviewClassName; @@ -557,6 +557,22 @@ static NSString *subviewClassName;
557 newPoint.y = point.y - _scrollView.frame.origin.y + _scrollView.contentOffset.y; 557 newPoint.y = point.y - _scrollView.frame.origin.y + _scrollView.contentOffset.y;
558 if ([_scrollView pointInside:newPoint withEvent:event]) { 558 if ([_scrollView pointInside:newPoint withEvent:event]) {
559 return [_scrollView hitTest:newPoint withEvent:event]; 559 return [_scrollView hitTest:newPoint withEvent:event];
  560 + }else{
  561 + //24年4-12,多层的子视图超过了父视图,如果有子视图内点击,传递给子视图点击事件
  562 + PGIndexBannerSubiew *cell = [_cells objectAtIndex:self.currentPageIndex];
  563 + for (UIView *view in cell.subviews) {
  564 + if ([view isKindOfClass:[UIScrollView class]]){
  565 + UIScrollView *scrollView = (UIScrollView *)view;
  566 + for (UIView *subView in [scrollView subviews]) {
  567 + // 将父类point点转换成子类坐标系下的点
  568 + CGPoint convertedPoint = [subView convertPoint:point fromView:self];
  569 + UIView *targetView = [subView hitTest:convertedPoint withEvent:event];
  570 + if (targetView != nil) {
  571 + return targetView;
  572 + }
  573 + }
  574 + }
  575 + }
560 } 576 }
561 577
562 return _scrollView; 578 return _scrollView;