0

我看过其他问题,但它们似乎没有帮助......

我的标签栏应用程序中的一个视图控制器的底部有一个 iAd 横幅。我想在没有广告时隐藏它,但在有广告时显示它。

这是我在 View Controller 中打开或关闭它的代码,基于 Apple 的示例:

- (void)configureAdAnimated:(BOOL)animated
{
    CGRect viewFrame   = self.mainView.frame;
    CGRect bannerFrame = adBannerView.frame;

    self.adBannerView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;

    if (adBannerView.bannerLoaded) {
        viewFrame.size.height -= adBannerView.frame.size.height;
        bannerFrame.origin.y = viewFrame.size.height;
        self.adIsVisible = YES;
    }
    else {
        bannerFrame.origin.y = viewFrame.size.height + bannerFrame.origin.y;
        self.adIsVisible = NO;
    }

    [UIView animateWithDuration:animated ? 0.25 : 0.0 animations:^{
        self.mainView.frame = viewFrame;
        [self.mainView layoutIfNeeded];
        adBannerView.frame = bannerFrame;
    }];

}

它时不时地抛出随机错误(有些未知,有些像“广告库存不可用”等),它会在必须时熄灭,但当它出现时我无法点击它并且有一个黑色它上面的空间,像这样:

iAd 无法打开,并且横幅上方有一个黑色空间...

我已经设置了当前内容大小标识符、委托(= self)等。

我应该怎么做才能让它工作?如果您需要更多代码、更多信息等,请告诉我。谢谢!

4

1 回答 1

1

尝试通过在单一视图应用程序而不是选项卡式布局中实现 iAd 来简化调试。

请注意,黑色空间的大小似乎与 iAd 相同。这应该为您提供有关正在发生的事情的线索。

于 2012-12-31T19:01:41.233 回答