在 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 横幅的主要内容,如果未能解决你的问题,请参考以下文章