Skip to content

Commit 71ef90b

Browse files
Merge pull request #165 from teads/APP-2714
APP-2714: Update native collection viewcontroller to return native cells
2 parents 421d8d2 + 19e2ee5 commit 71ef90b

File tree

6 files changed

+152
-69
lines changed

6 files changed

+152
-69
lines changed

TeadsSampleApp/Base.lproj/Main.storyboard

Lines changed: 97 additions & 52 deletions
Large diffs are not rendered by default.

TeadsSampleApp/Cells/FakeArticleNativeTableViewCell.swift

Lines changed: 48 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,59 @@
77

88
import UIKit
99

10-
class FakeArticleNativeTableViewCell: UITableViewCell {
10+
@objc protocol FakeNativeCell {
11+
12+
var mediaView: UIImageView! { get }
13+
var iconImageView: UIImageView! { get }
14+
var titleLabel: UILabel! { get }
15+
var contentLabel: UILabel! { get }
16+
var callToActionButton: UIButton! { get }
17+
func openTeadsWebsite()
18+
}
19+
20+
extension FakeNativeCell {
21+
22+
func setMockValues() {
23+
mediaView.image = UIImage(named: "social-covers")
24+
iconImageView.image = UIImage(named: "teads-logo")
25+
titleLabel.text = "Teads"
26+
contentLabel.text = "The global media platform"
27+
callToActionButton.setTitle("Discover", for: .normal)
28+
callToActionButton.addTarget(self, action: #selector(self.openTeadsWebsite), for: .touchUpInside)
29+
}
30+
31+
}
1132

33+
class FakeArticleNativeTableViewCell: UITableViewCell, FakeNativeCell {
34+
1235
@IBOutlet weak var mediaView: UIImageView!
1336
@IBOutlet weak var iconImageView: UIImageView!
1437
@IBOutlet weak var titleLabel: UILabel!
1538
@IBOutlet weak var contentLabel: UILabel!
1639
@IBOutlet weak var callToActionButton: UIButton!
40+
41+
@objc func openTeadsWebsite() {
42+
if let url = URL(string: "https://teads.com") {
43+
UIApplication.shared.open(url)
44+
}
45+
}
1746

1847
}
48+
49+
50+
class FakeArticleNativeCollectionViewCell: UICollectionViewCell, FakeNativeCell {
51+
52+
@IBOutlet weak var mediaView: UIImageView!
53+
@IBOutlet weak var iconImageView: UIImageView!
54+
@IBOutlet weak var titleLabel: UILabel!
55+
@IBOutlet weak var contentLabel: UILabel!
56+
@IBOutlet weak var callToActionButton: UIButton!
57+
58+
@objc func openTeadsWebsite() {
59+
if let url = URL(string: "https://teads.com") {
60+
UIApplication.shared.open(url)
61+
}
62+
}
63+
64+
}
65+

TeadsSampleApp/Controllers/Native/Admob/TableView/NativeAdmobTableViewController.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,7 @@ extension NativeAdmobTableViewController: UITableViewDelegate, UITableViewDataSo
8787
guard let cell = tableView.dequeueReusableCell(withIdentifier: fakeArticleCell, for: indexPath) as? FakeArticleNativeTableViewCell else {
8888
return UITableViewCell()
8989
}
90-
cell.mediaView.image = UIImage(named: "social-covers")
91-
cell.iconImageView.image = UIImage(named: "teads-logo")
92-
cell.titleLabel.text = "Teads"
93-
cell.contentLabel.text = "The global media platform"
94-
cell.callToActionButton.setTitle("Discover Teads", for: .normal)
90+
cell.setMockValues()
9591
return cell
9692
}
9793
}

TeadsSampleApp/Controllers/Native/Direct/CollectionView/NativeDirectCollectionViewController.swift

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ extension NativeDirectCollectionViewController: UICollectionViewDelegate, UIColl
5757
cell.adView.bind(ad)
5858
return cell
5959
} else {
60-
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: fakeArticleCell, for: indexPath)
60+
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: fakeArticleCell, for: indexPath) as? FakeArticleNativeCollectionViewCell else {
61+
return UICollectionViewCell()
62+
}
63+
cell.setMockValues()
6164
return cell
6265
}
6366
}

TeadsSampleApp/Controllers/Native/Direct/TableView/NativeDirectTableViewController.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -77,11 +77,7 @@ extension NativeDirectTableViewController: UITableViewDelegate, UITableViewDataS
7777
guard let cell = tableView.dequeueReusableCell(withIdentifier: fakeArticleCell, for: indexPath) as? FakeArticleNativeTableViewCell else {
7878
return UITableViewCell()
7979
}
80-
cell.mediaView.image = UIImage(named: "social-covers")
81-
cell.iconImageView.image = UIImage(named: "teads-logo")
82-
cell.titleLabel.text = "Teads"
83-
cell.contentLabel.text = "The global media platform"
84-
cell.callToActionButton.setTitle("Discover Teads", for: .normal)
80+
cell.setMockValues()
8581
return cell
8682
}
8783
}

TeadsSampleApp/Controllers/Native/Mopub/TableView/NativeMopubTableViewController.swift

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -118,11 +118,7 @@ extension NativeMopubTableViewController: UITableViewDelegate, UITableViewDataSo
118118
guard let cell = tableView.dequeueReusableCell(withIdentifier: fakeArticleCell, for: indexPath) as? FakeArticleNativeTableViewCell else {
119119
return UITableViewCell()
120120
}
121-
cell.mediaView.image = UIImage(named: "social-covers")
122-
cell.iconImageView.image = UIImage(named: "teads-logo")
123-
cell.titleLabel.text = "Teads"
124-
cell.contentLabel.text = "The global media platform"
125-
cell.callToActionButton.setTitle("Discover Teads", for: .normal)
121+
cell.setMockValues()
126122
return cell
127123
}
128124

0 commit comments

Comments
 (0)