iAd的`UIViewController`类别canDisplayBannerAds是做什么的?

在iOS7中,iAds框架包含类别-[UIViewController canDisplayBannerAds]

这个类别做了什么,我该如何使用它?

canDisplayBannerAds的标题为:

将其设置为使用视图控制器可以自动pipe理横幅广告显示。 请注意,这将通过在视图控制器视图上方插入一个新的容器视图来修改视图控制器的视图层次结构。 影响是视图控制器的视图属性将不再返回原来提供的视图,它将返回新的容器。 要访问原始视图,请使用originalContentView属性。

不清楚的是, 自动pipe理还指的是实例化并将ADBannerView插入到您的视图层次结构中。 您不需要实例化ADBannerView ,也不需要ADBannerView属性或实例variables。

您仍然希望遵守视图控制器中的ADBannerViewDelegate协议,以便在用户点击广告时暂停应用程序,然后在全屏广告消失时继续。

更新 :除非您想要遍历视图层次结构,查找自动插入的ADBannerView以将视图控制器设置为委托, ADBannerViewDelegate还可以剪切ADBannerViewDelegate协议方法。

您实际上需要查看originalContentView的文档以了解这一点:

当视图控制器启用横幅广告时,系统会将视图控制器的内容视图放入系统pipe理的新内容视图中。 这允许系统在显示横幅广告时dynamic地调整原始内容视图的大小,以及pipe理横幅广告本身的显示。 该属性提供对原始内容视图的访问,而不是用于pipe理横幅广告显示的包含视图。