【问题标题】:iAd Banner QuestioniAd 横幅问题
【发布时间】:2011-04-25 20:17:48
【问题描述】:

当我在我的应用中切换视图(只是不同的主题)时,我收到了这个警告。关于为什么应用程序无法加载的任何想法和建议?

2011-04-25 16:14:20.211 MyApp [4121:40b] ADBannerView:警告横幅视图 (0x631bb30) 有广告,但可能会被遮挡。每次横幅视图仅打印一次此消息。

似乎当视图切换时,另一个视图只是在后台,关于如何做到这一点的任何想法。

** 请注意,Apple 的开发人员网站上有一个很好的示例,称为 iADSuite

【问题讨论】:

标签: iphone objective-c ios4 iphone-sdk-3.0


【解决方案1】:

此消息表示横幅有一部分不可见或完全不可见。 如果您确实阅读了 Apple 的 iAd 文档,您会注意到他们建议您只使用一个 iAd 实例,您应该将其用于所有视图(uiviewcontrollers)

我如何在我的应用中使用 iAd - 我有 1 个显示 iAd 横幅的单例类(因此我遵循 Apple 的建议,只使用 1 个 iAd 实例)。在 viewDidLoad 方法中的所有视图控制器中,我从我的单例类中显示 iAd 视图,在 viewWillDisappear 中,我从视图控制器中删除 iAd 视图。

这样,横幅视图始终仅在 1 个视图控制器中可见 - 因此它永远不会被“遮挡”等。

我希望这个解释对你有所帮助:)

【讨论】:

  • 好的,如何从视图控制器中移除 iAd
  • 在我的单身课程中,我有一个属性,即 iAd 横幅视图。在 viewDidLoad 我做 [self.view addSubview:singleton.iAd] 所以它添加到 uiviewcontroller 的视图层次结构中,在 viewWillDisappear [signleton.iAd removeFromSuperview] ...这很容易
  • 基本上你在 iAd 横幅视图上调用 removeFromSuperview,这就是你删除它的方法
  • 谢谢,这正是我需要做的。
  • delegate怎么处理,如果在viewWillDissapear中设置为nil,用户打开广告就会出问题。
【解决方案2】:

查看您的视图层次结构。您是否使用 iAd 设置了新视图,并且覆盖了您的 iAd 视图。还是您要重新创建 iAd 视图?转储视图层次结构并查看存在哪些视图,您可能会发现有两个实例。

试试:[topView recursiveDescription]

【讨论】:

  • 不确定该放在哪里或如何使用它
【解决方案3】:

我知道这不是针对您的场景的问题的答案,但对其他人来说可能是这样,对我来说也是如此。我正在使用 Adwhirl 并且正在使用动画过渡。我关闭了这些转换并大大减少了这些警告。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多