【发布时间】: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 的逻辑分开(反之亦然)。
【问题讨论】:
标签: ios uitableview iad