Manos Chorianopoulos

MyRewardsBannerOffersScrollTableViewCell collectionView fixes

...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>Pods-SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>0</integer> 10 + <integer>1</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key> 7 <key>SwiftWarplyFramework.xcscheme_^#shared#^_</key>
8 <dict> 8 <dict>
9 <key>orderHint</key> 9 <key>orderHint</key>
10 - <integer>1</integer> 10 + <integer>0</integer>
11 </dict> 11 </dict>
12 </dict> 12 </dict>
13 </dict> 13 </dict>
......
...@@ -36,6 +36,35 @@ import UIKit ...@@ -36,6 +36,35 @@ import UIKit
36 36
37 // Register XIBs for collection view cells 37 // Register XIBs for collection view cells
38 collectionView.register(UINib(nibName: "MyRewardsBannerOfferCollectionViewCell", bundle: Bundle(for: MyEmptyClass.self)), forCellWithReuseIdentifier: "MyRewardsBannerOfferCollectionViewCell") 38 collectionView.register(UINib(nibName: "MyRewardsBannerOfferCollectionViewCell", bundle: Bundle(for: MyEmptyClass.self)), forCellWithReuseIdentifier: "MyRewardsBannerOfferCollectionViewCell")
39 +
40 + // Fix background colors
41 + collectionView.backgroundColor = UIColor.clear
42 + self.backgroundColor = UIColor.clear
43 + self.contentView.backgroundColor = UIColor.clear
44 +
45 + // Remove content insets and gaps
46 + collectionView.contentInset = UIEdgeInsets.zero
47 + collectionView.scrollIndicatorInsets = UIEdgeInsets.zero
48 +
49 + if #available(iOS 11.0, *) {
50 + collectionView.contentInsetAdjustmentBehavior = .never
51 + }
52 +
53 + // Configure collection view layout
54 + if let layout = collectionView.collectionViewLayout as? UICollectionViewFlowLayout {
55 + layout.scrollDirection = .horizontal
56 + layout.minimumLineSpacing = 0
57 + layout.minimumInteritemSpacing = 0
58 + layout.sectionInset = UIEdgeInsets.zero
59 + }
60 +
61 + // Enable paging for smooth banner scrolling
62 + collectionView.isPagingEnabled = true
63 + collectionView.showsHorizontalScrollIndicator = false
64 +
65 + // Set delegates
66 + collectionView.delegate = self
67 + collectionView.dataSource = self
39 } 68 }
40 69
41 public override func setSelected(_ selected: Bool, animated: Bool) { 70 public override func setSelected(_ selected: Bool, animated: Bool) {
...@@ -50,7 +79,8 @@ import UIKit ...@@ -50,7 +79,8 @@ import UIKit
50 } 79 }
51 } 80 }
52 81
53 -extension MyRewardsBannerOffersScrollTableViewCell: UICollectionViewDataSource,UICollectionViewDelegate { 82 +extension MyRewardsBannerOffersScrollTableViewCell: UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout {
83 +
54 84
55 public func numberOfSections(in collectionView: UICollectionView) -> Int { 85 public func numberOfSections(in collectionView: UICollectionView) -> Int {
56 return 1 86 return 1
...@@ -72,15 +102,24 @@ extension MyRewardsBannerOffersScrollTableViewCell: UICollectionViewDataSource,U ...@@ -72,15 +102,24 @@ extension MyRewardsBannerOffersScrollTableViewCell: UICollectionViewDataSource,U
72 public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { 102 public func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
73 // TODO: open offer 103 // TODO: open offer
74 } 104 }
105 +
106 + // MARK: - UICollectionViewDelegateFlowLayout
107 + public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
108 + let screenWidth = UIScreen.main.bounds.width
109 + return CGSize(width: screenWidth, height: 348)
110 + }
111 +
112 + // Distance Between Item Cells
113 + public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat {
114 + return 0
115 + }
75 116
76 -// // Distance Between Item Cells 117 + public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumInteritemSpacingForSectionAt section: Int) -> CGFloat {
77 -// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, minimumLineSpacingForSectionAt section: Int) -> CGFloat { 118 + return 0
78 -// return 5 119 + }
79 -// } 120 +
80 -// 121 + // Cell Margin
81 -// // Cell Margin 122 + public func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets {
82 -// func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, insetForSectionAt section: Int) -> UIEdgeInsets { 123 + return UIEdgeInsets.zero
83 -// return UIEdgeInsets(top: 0, left: 5, bottom: 0, right: 0) 124 + }
84 -// }
85 -
86 } 125 }
......
...@@ -120,7 +120,7 @@ ...@@ -120,7 +120,7 @@
120 <constraint firstAttribute="trailing" secondItem="JTs-J5-DO2" secondAttribute="trailing" constant="24" id="Rdi-FK-2Ft"/> 120 <constraint firstAttribute="trailing" secondItem="JTs-J5-DO2" secondAttribute="trailing" constant="24" id="Rdi-FK-2Ft"/>
121 <constraint firstAttribute="trailing" secondItem="I7z-Fz-SNP" secondAttribute="trailing" id="avB-Gc-ttI"/> 121 <constraint firstAttribute="trailing" secondItem="I7z-Fz-SNP" secondAttribute="trailing" id="avB-Gc-ttI"/>
122 <constraint firstItem="I7z-Fz-SNP" firstAttribute="leading" secondItem="VzF-dQ-3Wa" secondAttribute="leading" id="pTY-7d-s1S"/> 122 <constraint firstItem="I7z-Fz-SNP" firstAttribute="leading" secondItem="VzF-dQ-3Wa" secondAttribute="leading" id="pTY-7d-s1S"/>
123 - <constraint firstItem="I7z-Fz-SNP" firstAttribute="top" secondItem="JTs-J5-DO2" secondAttribute="bottom" constant="20" id="vJF-jy-p83"/> 123 + <constraint firstItem="I7z-Fz-SNP" firstAttribute="top" secondItem="JTs-J5-DO2" secondAttribute="bottom" constant="10" id="vJF-jy-p83"/>
124 </constraints> 124 </constraints>
125 </view> 125 </view>
126 </subviews> 126 </subviews>
......