我在我的应用程序中添加了一个 ADBannerView。当将屏幕旋转为横向时,我将 ADBannerView 更改为水平框架,如下所示:
但是在iOS6中点击它时,iad会在一个奇怪的位置打开:
在 iOS4/5 中没有这个问题。
为什么以及如何解决?我将我的代码上传到https://github.com/OpenFibers/GPSAlarm
特别感谢!
我在我的应用程序中添加了一个 ADBannerView。当将屏幕旋转为横向时,我将 ADBannerView 更改为水平框架,如下所示:
但是在iOS6中点击它时,iad会在一个奇怪的位置打开:
在 iOS4/5 中没有这个问题。
为什么以及如何解决?我将我的代码上传到https://github.com/OpenFibers/GPSAlarm
特别感谢!
正如在 iOS6 中,Apple 改变了管理设备方向的方式。在 iOS6 中,您应该使用新方法来管理 iOS6 中引入的方向。问题背后的原因是您的代码WillAnimate
可能不会在设备旋转时调用。
因此,您应该使用以下 iOS6 版本中引入的方法。
- (BOOL)shouldAutorotate
{
return YES;
}
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}
如果您希望整个应用程序旋转,那么您应该将 Info.plist 设置为支持所有方向。在您支持整个方向的情况下,您可以通过编辑.Plist
应用程序文件来允许,正如我在下面的快照中所做的那样。
现在,如果您只想更改特定视图所需的方向,则必须执行某种子类并覆盖自动旋转方法以仅返回所需的方向。
有关更多信息,您应该对此进行查看。
编辑:正如您解释的那样,在横向模式下单击 iAD,广告屏幕突然发生尴尬的事情。因为苹果在 iPhone 和 iPad 上的测试广告都是纵向的。真正的广告可能会支持横向模式。这里有太多与同一问题相关的线程。所以你不用担心。
我希望以上解决方案可以帮助你.!!!!
在 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];
}