gpt4 book ai didi

iOS 7 的 canDisplayBannerAds 和旋转?

转载 作者:可可西里 更新时间:2023-11-01 04:46:47 24 4
gpt4 key购买 nike

我使用 UIViewController 上的新 iOS 7 属性(即 canDisplayBannerAds)在我的应用程序中安装了 iAd 横幅。问题是我的 View 在 iOS 7 上不再正确调整大小。如果你想知道的话,我正在使用自动布局。

在纵向模式下,广告横幅出现在屏幕底部。在横向中,UI 没有正确地居中,并且保持与纵向屏幕一样高。 (我的按钮和广告横幅被限制在屏幕底部,被截断了。)本质上,我的 View 边界不再正确更新。

我试图在 willRotateToInterfaceOrientation 中隐藏禁用的 canDisplayBannerAds,然后在 didRotateFromInterfaceOrientation 中重新启用该属性。没有骰子。

我已手动遍历 View 层次结构以找到广告横幅并对其调用 sizeThatFits。我不确定我是否正确地做到了这一点,所以这可能就是答案。

在启用广告之前,我已经尝试在成为 originalContentView 的 View 上明确设置自动调整大小掩码。

删除我对 canDisplayBannerAds 的调用可以缓解问题的所有症状。

我是否遗漏了一些明显的东西?是否有我应该切换的其他属性或设置?这是错误吗?

编辑:

我实际上并没有自己安装横幅。只需将 canDisplayBannerAds 设置为 YES 即可使 iOS 调整我的整个层次结构的大小以为横幅广告腾出空间,然后它会自行安装。

最佳答案

我看到其他帖子在设置“canDisplayBannerAds”以显示广告时讨论未定义的行为。

我相信这是由于他们的 View 层次结构中的自定义 View ,你有吗?

不过,我认为您遇到了太多麻烦,应该简单地以旧方式添加横幅:

ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierLandscape];
adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
[self.view addSubview:adView];

(对于横向 View ,您可以更改 View 上的类型将旋转以支持纵向)

Am I missing something obvious? Is there another property or setting that I'm supposed to be toggling? Is this a bug?

没有其他属性,如果您只想通过设置该属性来启用广告,您也无法获得委托(delegate)调用。

您需要做的是,正确设置 View Controller 的主视图以调整大小(您可以使用界面生成器进行测试)。

编辑:

这个人好像是加了更多的约束解决了canDisplayBannerAds Issue when Starting in Landscape Mode

您确定您的 View 已经正确调整大小了吗?您是否对空白项目中的广告有同样的问题?

(我的建议仍然是一样的,手动添加它们会给你更多的自由,你可以把它们放在你想要的任何地方。例如,我的应用程序在横向时显示“纵向广告”。)

关于iOS 7 的 canDisplayBannerAds 和旋转?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21310934/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com