2

我的应用程序以纵向方向运行,但里面的内容随着加速度计旋转。我在屏幕底部显示 iAd。iAd 在您旋转时改变了位置,但实际界面不旋转(shouldAutorotate 返回 NO,所有旋转都在 OpenGL 中处理)。因此,iAd 被定位,然后设置了一个变换来旋转它,因此它是用户的正确方式。当应用处于纵向时,它是纵向广告。在风景中,它就是风景。自从 iAd 首次发布以来,这一直运行良好......直到现在。

在 iOS6 中,iAd 仍然定位正确,但无论我做什么,内容都不是。似乎 iOS6决定了它应该显示哪种类型的广告。我认为这与自动调整大小有关。但我对如何阻止它感到困惑。我最终以横向模式显示纵向图形......在一侧......并且由于更薄的广告空间而被切断。

有没有其他人看到过这种行为?它仅在iOS6下。有谁知道如何阻止 iAd 自动调整大小/内容旋转?

任何帮助将不胜感激。

4

2 回答 2

0

这可能是由于自动布局,这是 iOS 6 的一项新功能。检查故事板的第一个(“文件检查器”)选项卡,如果勾选了“使用自动布局”,那可能是您的问题!

启用自动布局后,视图基于“约束”而不是以前可用的简单自动调整大小参数。这些约束覆盖了对子视图框架的大多数尝试更改-因此可以解释您的问题。

可以继续使用自动布局并确保您的约束设置正确,但如果您依赖代码来更改广告视图的位置/大小,那么我建议您简单地禁用自动布局,这应该会使您的调整大小再次正常!

于 2012-10-23T05:06:01.600 回答
0

我想您在加载横幅时正在使用与下面类似的方法?

 - (void)bannerViewDidLoadAd:(ADBannerView *)banner {

       self.bannerView.frame = CGRectZero;
 }

试着把它改成这样

 - (void)bannerViewDidLoadAd:(ADBannerView *)banner {

       self.bannerView.frame = CGRectMake(0, 0, 480, 32);
 }
于 2012-11-12T09:35:37.977 回答