IAD在iOS6中处于一个奇怪的位置

时间:2012-11-12 07:21:36

标签: iphone ios iad

我在我的应用中添加了一个ADBannerView。 将屏幕旋转到横向时,我将ADBannerView更改为水平框架,如下所示: enter image description here

但是当它在iOS6中被点击时,iad会在一个奇怪的位置打开: enter image description here

iOS4 / 5中的

没有这个问题。

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

特别感谢!

2 个答案:

答案 0 :(得分:2)

与iOS6一样,Apple已经成为管理设备定位的方式。 在iOS6中,您应该使用新方法来管理iOS6中的方向介绍。问题背后的原因是您的代码WillAnimate可能无法在设备旋转时调用。

所以你应该使用以下iOS6版本中引入的方法。

  - (BOOL)shouldAutorotate
  {
    return  YES;
   }

 - (NSUInteger)supportedInterfaceOrientations
  {
   return  UIInterfaceOrientationMaskAll;
  }

如果您希望整个应用都旋转,那么您应该将Info.plist设置为支持所有方向。在您的情况下,您支持整个方向,然后您可以通过编辑.Plist文件APP,因为我正在进行下面的快照。

enter image description here

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

here is the Example how to do same..

有关更多信息,您应该对此有所了解。

here it is..!!!

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

here it is..!!!

another for same.

another important link for the same

我希望Above Solution可以帮助你。!!!!

答案 1 :(得分:0)

在IOS 6中,您的app委托中的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];
}