4

我创建了一个 iOS6“单一视图”iPhone 应用程序。

该应用程序仅是纵向的。

我在应用程序中添加了 iAd。

我向应用程序添加额外的视图,如下所示:

         if (self.menuChoiceInstance == nil) {            
                 self.menuChoiceInstance = [[NJDViewControllerMenuChoice alloc] initWithNibName:@"NJDViewControllerMenuChoice" bundle:nil];
                 self.menuChoiceInstance.delegate = self;
         }

         [self.view addSubview:self.menuChoiceInstance.view];

一切似乎都运行良好。

然后我添加了通用/iPad 支持。添加子视图时包括以下行:

         [self.menuChoiceInstance.view setFrame:CGRectMake(0, 0, self.view.frame.size.width,
                                   self.view.frame.size.height)];

现在我遇到了 iAds 的问题。

当在 rootViewController 上按下 iAd 时,iPad 会旋转为横向。然后在关闭广告时旋转回纵向。

但是,在 iPad 上的子视图上按下 iAd 会使视图旋转为横向,并且在关闭时保持横向。这会破坏我的用户界面。

这个 iPad 问题是主要问题,但我现在偶尔也会看到 iPhone 视图的问题,这可能是相关的。

屏幕底部显示测试广告的 iAd 横幅有时会在其中包含巨大的文字和图标,使它们相互重叠且无法阅读。按下 iAd 会将手机旋转到横向(同样在仅纵向应用程序中),但 iAd 将广告显示为仍然是纵向的,拉伸的内容会超出屏幕底部。

4

2 回答 2

2

类似的问题在这里。很难找出它是什么,因为我使用了第三方 API。通过将我的 UIView 作为子项添加到 rootViewController 解决了我的问题。然后我的视图开始响应所有主窗口的变化。就在viewDidLoadmyUIViewController 的某处(或您拥有的任何地方)这样的一行。

[myUIWindow.rootViewController addChildViewController:self];

类似的问题...

iAd Landscape 奇怪的视图行为

强制 ADBannerView 旋转(不是“方向”而是实际变换)

iAd 横幅将我的视图旋转到横向

于 2013-05-07T09:02:04.720 回答
0

I believe the issue was caused by the fact that I was adding subviews onto my current view, rather than switching views.

I have changed the code that adds a subview from:

[self.view addSubview:self.statsInstance.view];

to code that presents a view.

[self presentViewController: self.settingsInstance animated:YES completion:nil];

This seems to have resolved my issue, as well as some other issues with iAd delegation methods (bannerViewActionDidFinish was called straight after the ad loaded.)

于 2013-05-07T19:04:27.837 回答