1

我在我的应用程序中添加了一个 ADBannerView。当将屏幕旋转为横向时,我将 ADBannerView 更改为水平框架,如下所示: 在此处输入图像描述

但是在iOS6中点击它时,iad会在一个奇怪的位置打开: 在此处输入图像描述

在 iOS4/5 中没有这个问题。

为什么以及如何解决?我将我的代码上传到https://github.com/OpenFibers/GPSAlarm

特别感谢!

4

2 回答 2

2

正如在 iOS6 中,Apple 改变了管理设备方向的方式。在 iOS6 中,您应该使用新方法来管理 iOS6 中引入的方向。问题背后的原因是您的代码WillAnimate可能不会在设备旋转时调用。

因此,您应该使用以下 iOS6 版本中引入的方法。

  - (BOOL)shouldAutorotate
  {
    return  YES;
   }

 - (NSUInteger)supportedInterfaceOrientations
  {
   return  UIInterfaceOrientationMaskAll;
  }

如果您希望整个应用程序旋转,那么您应该将 Info.plist 设置为支持所有方向。在您支持整个方向的情况下,您可以通过编辑.Plist应用程序文件来允许,正如我在下面的快照中所做的那样。

在此处输入图像描述

现在,如果您只想更改特定视图所需的方向,则必须执行某种子类并覆盖自动旋转方法以仅返回所需的方向。

这是示例如何做同样的事情..

有关更多信息,您应该对此进行查看。

这里是..!!!

编辑:正如您解释的那样,在横向模式下单击 iAD,广告屏幕突然发生尴尬的事情。因为苹果在 iPhone 和 iPad 上的测试广告都是纵向的。真正的广告可能会支持横向模式。这里有太多与同一问题相关的线程。所以你不用担心。

这里是..!!!.

另一个相同。.

另一个重要的链接

我希望以上解决方案可以帮助你.!!!!

于 2012-11-12T07:48:45.450 回答
0

在 IOS 6 中,您的应用程序委托中的 UIKIT 框架发生了变化,请使用这些代码来设置您的 rootviewcontroller

if ( [[UIDevice currentDevice].systemVersion floatValue] < 6.0)
{
    //  addSubView doesn't work on iOS6
    self.window.rootViewController = navigationContoller;
}
else{
    // use this mehod on ios6
    [self.window setRootViewController:navigation];
}
于 2012-11-12T07:37:18.170 回答