这仍然是一个相对较新的主题,所以不确定有多少人必须在iPad上实现iAd(iOS4.2.1)。
但基本上,我让iAd横幅以横向模式显示(并且显示正确)。唯一的问题是,当我点击“测试广告”时,它以纵向模式显示测试广告。即,该设备仍处于横向状态,但文本和iad框本身表示“这证实了测试广告正确运行”是横向的。
这是正常的吗?有没有人经历过这个? 它几乎像一个苹果虫,但我不确定......
答案 0 :(得分:3)
这也发生在我身上。 Apple在iPhone 和 iPad上的测试广告仅限于人像。 真正的广告可能将支持横向模式。
答案 1 :(得分:1)
ADBannerView的requiredContentSizeIdentifiers默认为具有横向和纵向。如果您仅使用横向,则必须使用ADBannerContentSizeIdentifierLandscape创建新的NSSet
iAdView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierLandscape, nil];
执行此操作后,测试广告会正确显示。
答案 2 :(得分:1)
我遇到了同样的问题,在我的情况下,这是因为没有在app delegate中设置rootViewController。相反,我刚刚将控制器的视图直接添加到窗口。
通过对Apple的iAdSuite中的BasicBanner示例进行一次更改,可以重现此行为。
在AppDelegate.m中更改行:
self.window.rootViewController = tvc;
为:
[self.window addSubview:tvc.view];
并且广告将始终以人像显示。将行更改回设置rootViewController,广告将适当旋转。
设置rootViewController似乎是iAd模块获取设备方向通知所必需的。
在此过程中,我注意到广告或至少是测试广告仅响应设备方向,并且在调用广告时不尊重控制器的interfaceOrientation。如果您在没有上述错误的情况下运行BasicBanner并且设备平放且应用程序处于横向模式,则广告将以纵向显示,并且在您翻转设备之前不会重新定向到横向广告。模拟器行为同样不一致。
我不知道这个弱点是否仅适用于测试广告或所有iAd广告。