2012-10-22 27 views
2

我的应用程序以纵向方向运行,但内部的内容随加速度计旋转。 我在屏幕的底部显示一个iAd。 iAd在旋转时改变位置,但实际界面不旋转(shouldAutorotate返回NO,所有旋转都在OpenGL中处理)。因此iAd被定位,然后转换被设置为旋转它,因此它是用户的正确方法。当应用程序处于肖像中时,它就是肖像广告。在风景中,这是风景。自iAds首次发布以来,这一直是完美的工作。风景iAd在iOS6中显示肖像图形?

在iOS6中,iAd仍然正确定位,但无论我做什么,内容都不是。看起来像iOS6 决定它应显示哪种类型的广告。我认为这是与自动化有关。但我对如何阻止它感到困惑。我最终将肖像图形以横向模式显示......放到一边......并因广告空间更薄而切断。

是否有其他人看到过这种行为?它只在iOS6下。有谁知道如何停止从自动调整大小/内容旋转的iAd?

任何帮助将不胜感激。

+0

我得到了我的测试环境相同的行为。我想知道如果我只是运送它会不会奇迹般地修复它自己? :-)也许测试iAd只有480像素宽? – Ron

+0

这是苹果自己的iAd测试套件中的相同问题。 http://developer.apple.com/library/ios/samplecode/iAdSuite/Introduction/Intro.html#//apple_ref/doc/uid/DTS40010198 – Jonny

回答

0

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

启用自动布局功能后,视图基于'约束'而不是先前可用的简单自动调整参数。这些限制会覆盖对子视图框架进行的大部分尝试更改 - 因此可以解释您的问题。

有可能继续使用自动布局,并确保您的约束条件设置是否正确,但如果你依靠代码来改变你的广告视图的位置/大小,然后我会建议干脆禁用自动布局,这应该化妆再次正常调整大小!

0

我想你在下面使用类似的方法来加载横幅时?

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

     self.bannerView.frame = CGRectZero; 
} 

尝试将其更改为这样的事情

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

     self.bannerView.frame = CGRectMake(0, 0, 480, 32); 
}