当视图层次结构遇到ADBannerViews时,我对它们有点困惑。我想以编程方式将iAd横幅插入到现有的应用程序中,但我不知道从哪里开始。我确实阅读了苹果公司的文档,并观看了一段非常好的WWDC视频,但我仍然很难理解如何利用这些信息将广告以一种主动的方式引入我的应用程序。
这是我的应用程序的架构:
底部是窗户
该窗口的rootViewController是一个UINavigationController
导航控制器堆栈中的第一个视图控制器是UITabBarController
此选项卡BarController包含五个相似的UITableView
在其中一个表上制表此表的单元格Views会将新的视图控制器推送到navigationControllers堆栈上
这个新的viewController也是UITabBarController,但这个只有四个选项卡,这个tabBarControllers数组中的四个viewController是:
- 两个不同的UITableViewControllers
- 两个不同的简单UIViewController,一个只有一张图片,另一个有许多嵌套视图
我想在navigationControllers堆栈中第二个选项卡BarController的四个子选项卡的底部各插入一个ADBannerView。我不知道该怎么做。
我的问题是:我不明白当用户点击广告时会发生什么。我知道,广告的代码会在我的应用程序上推送一个新的视图,但我不明白怎么做。新视图会成为我的导航控制器堆栈的一部分吗(我不这么认为)?或者,新视图将是其中一个tabBarControllers视图的新子视图?
我没有任何证据,但我的猜测是,当用户点击横幅时,ADBannerView代码会将一个新的子视图推送到root视图控制器的视图上,因为它需要在应用程序中的所有内容之上显示全屏。根视图控制器通常在applicationDidFinishLaunchingWithOptions
方法中设置。
p.s.有点偏离主题,但你确定要更改选项卡的数量吗?更传统的UI模式是选项卡在屏幕底部保持不变。在这种情况下,您有一个UITabBarController,下面有几个UINavigationController