在 UITableView 下方放置 iAd 横幅

Posted

技术标签:

【中文标题】在 UITableView 下方放置 iAd 横幅【英文标题】:Placing an iAd banner below a UITableView 【发布时间】:2012-01-04 00:05:24 【问题描述】:

我一直在尝试使用 iAdSuite AdBannerNavigation 示例代码作为起点,让 iAd 横幅显示在屏幕底部。

iAd 套件让您创建横幅视图并将其添加为子视图。当您对 UITableView 执行此操作时,横幅类型会沿着单元格顶部浮动,在滚动视图中移动。

我已经看到了这个答案iAds in a Scrolling View 但该方法仍然使广告横幅成为滚动视图的一部分。

所以我认为简单的解决方案是将 UITableView 放在 UIView 中,这样 adBanner 也可以是 UIView 的子视图(表视图的对等)。

RootViewController -> TextViewController
                   -> MyTableViewController -> UIView -> UITableView
                                                      -> AdBannerView

这不起作用,因为 UITableViewController 期望它的第一个视图是表格视图。

认为我的策略是正确的,我将 tableview 在视图层次结构中向下推,并由我的视图控制器初始化。

RootViewController -> TextViewController
                   -> MyViewController -> MyTableViewController -> UITableView
                                       -> AdBannerView

这是由 MyViewController 的 viewDidLoad 完成的,它调用:

    myTableViewController = [[MyTableViewController alloc] initWithNibName:@"MyTableViewController" bundle:nil];

然后,使用 MyTableViewController 中的 NSLog 语句,我看到 viewDidLoad 被调用,但之后没有任何内容。我期待 viewWillAppear 和 viewDidAppear,但不仅这些 NSLog 语句永远不会被调用,ios 模拟器也永远不会显示我的 UITableView(考虑到这种情况,这是合理的!)。

我是否以正确的方式解决这个问题(adBannerView 是 UITableView 的对等体)?如果是这样,我在视图控制器和视图实例化过程中缺少什么?

我将事物分解成这种结构的目的是让 MyViewController 了解 iAd 横幅并将其与 UITableView 的逻辑分开(反之亦然)。

【问题讨论】:

【参考方案1】:

这是一个完美的文章。他展示了如何在纵向和横向模式下将 iAd 横幅添加到桌面视图的顶部。如果您进一步向下看页面,还有一些代码可以让您了解将横幅添加到 tableview 底部的想法。

http://www.raywenderlich.com/1371/how-to-integrate-iad-into-your-iphone-app

希望这会有所帮助!

【讨论】:

"不幸的是,处理这种情况的最佳方法似乎是将您的 UITableViewController 转换为普通的 UIViewController,然后按照我们上面的方式进行操作"不,不,不!!为雷·文德利希感到羞耻!他应该知道使用表头。

以上是关于在 UITableView 下方放置 iAd 横幅的主要内容,如果未能解决你的问题,请参考以下文章

使用故事板在 UItableView 中添加 iAd 横幅

始终将 iAD 横幅放置在屏幕底部(IOS 7)

表格视图下方的 iAd 横幅

在 Swift 中的标签栏上方显示 iAd 横幅

在 android 上的播放器功能区下方放置横幅广告

iOS 在 iPad 详细拆分视图中更改 iAD 横幅大小