暂停容器视图控制器中的iAd显示

时间:2014-02-04 06:14:33

标签: ios iphone iad

这不是iAd问题,而是代码设计和视图控制器通信问题。

我的应用程序的根视图控制器是一个容器视图控制器,它由两部分组成:

  • 子内容视图控制器
  • ADBannerView子视图在从iAds服务器接收数据时显示和消失

基本上,这个容器视图控制器只是真实视图控制器的包装器,其目的是在广告出现和消失时管理显示和布局大小调整。 (这是ContainerBanner sample code from Apple)的直接撕裂。

但是,我有一个难题。 Apple的iAd显示最佳做法是:

  

如果用户从具有横幅视图的内容屏幕导航到没有横幅视图的屏幕,并且您希望它们在该屏幕上很长一段时间,请从视图中删除横幅视图层次结构,将其委托设置为nil并在转换到新的内容屏幕之前释放它。更一般地说,避免在用户看不见时保持横幅视图。

这意味着当一些子视图控制器占用整个屏幕一段时间后,我需要向容器视图控制器发送一条消息以暂停广告显示。

实现这一目标最优雅的方法是什么?

我被绊倒了,因为这种通信必须遍历视图控制器层次结构的几个层次,这使得委托和阻止一个不太好的解决方案。

我能想到的唯一解决方案是让子视图控制器发布通知,容器视图控制器正在监听并通过暂停/恢复广告显示来响应。我想知道是否有其他选择。

0 个答案:

没有答案