我的应用程序以横向模式运行。我不支持纵向方向,并且在所有屏幕中,如果我将设备旋转到纵向,所有内容都会如预期那样为横向。
我正在显示 iAd 横幅,它们看起来不错,它们会随着 super View 一起旋转。关于横幅显示一切正常。
问题是,当我点击它们并打开实际广告时,整个应用程序方向就会被搞砸。 iAD 以纵向模式打开,其位置错误,偏移到屏幕的一半,并且它扰乱了整个应用程序的方向,使其进入不受支持且看起来很奇怪的纵向模式。
关于如何避免这种情况有什么想法吗?
一些应用程序详细信息:
- iOS6
- 仅限横向模式
- Cocos2d + UIKit 适用于某些屏幕
- iAds 集成代码是标准的,如 iAds 编程指南中所述
- 应用 Root View Controller 是一个简单的 UIViewController,没有导航 Controller 或类似的东西。
- 它不使用自动布局。
最佳答案
我也在Cocos2d-landscape游戏中使用了iAds。对我来说它的工作。
这里是托管的文件:Download
-(void)showBannerView
{
_adBannerViewIsVisible = true;
AppController * myDelegate = (((AppController*) [UIApplication sharedApplication].delegate));
[myDelegate.navController.view addSubview:self.adBannerView];
if (self.adBannerView)
{
[UIView animateWithDuration:0.5
delay:0.1
options: UIViewAnimationCurveEaseOut
animations:^
{
CGSize s = [[CCDirector sharedDirector] winSize];
CGRect frame = self.adBannerView.frame;
frame.origin.y = s.height - frame.size.height;
frame.origin.x = (s.width/2.0f - frame.size.width/2.0f);
self.adBannerView.frame = frame;
}
completion:^(BOOL finished)
{
}];
}
}
关于ios - 在横向应用程序中打开 iAds 会破坏整个方向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14773580/