iAd设备旋转导致'可能被遮挡'警告

时间:2012-04-05 21:38:57

标签: ios rotation warnings iad

我有一个肖像/ portraitupsidedown应用程序我已经实现了iAds - 它似乎都成功运行,我实现它的页面只是一个图像视图和一堆按钮所以我设置不当广告在主视图上方移动时移动,但如果我旋转设备,我得到横幅可能会出现模糊错误。

我只能在页面上的每个会话中获得一次错误,进一步的旋转不会导致重复,但是如果我转到另一个页面并且返回我可以再次重复警告。

如果我让应用程序运行一段时间,广告会根据其可用性而来而去,而不会发出警告 - 看起来似乎并没有相互叠加的广告。

这可能是轮换期间发生的短暂故障,是否有某些方法可以进一步诊断?

我添加了[self.view bringSubviewToFront:theBannerView];到了动画舞台,但它并没有什么区别,真的不足为奇,因为旋转就是问题!

3 个答案:

答案 0 :(得分:0)

试试这个:

- (void)changeBannerOrientation:(UIInterfaceOrientation)toOrientation
{

    if (UIInterfaceOrientationIsLandscape(toOrientation)) {
        self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
    }

else {
        self.bannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    }
}

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation {
        return YES;
}

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
                            duration:(NSTimeInterval)duration
{

    if (bannerView) {
        [self changeBannerOrientation:toInterfaceOrientation];
    }
}

答案 1 :(得分:0)

我遇到过同样的问题。在屏幕方向更改期间,广告视图未完全显示在屏幕上,因此“横幅可能会被遮挡”

为防止出现“错误”,您可以在旋转之前删除或隐藏广告视图,然后将其添加回来,

- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
    [AFAddManager removeFromView];
}
- (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation{
    [AFAddManager updateOrientation:self.interfaceOrientation];
    [AFAddManager addToView:self.view];
}

但这看起来并不那么好。您可以使用复制的图像替换adview,使其看起来像是旋转的。

我要带着警告信息离开我的应用程序。 我认为只要添加在一段时间内可见,您就可以获得印象。只要你的应用程序不是经常轮换它不是一个问题。 能得到一些确认会很高兴。

答案 2 :(得分:0)

我可以确认这个现象,我没有在任何一个方向上得到初始页面加载的错误,但我确实在旋转时得到它。

我确实尝试了隐藏技巧来平息'错误',但无济于事。我认为我应该把它拿出来,正如马克所说,除非你付出很多努力,否则看起来很难看。

我对此进行了一些阅读,从苹果文献中可以看出,如果广告的一部分被遮挡,则不会加载新广告,这表明我们会为每个加载的广告获得信用,而不是总数显示时间。