【问题标题】:iAds not hidingiAd 不隐藏
【发布时间】:2012-10-13 04:41:36
【问题描述】:

我在 ADBannerView 的屏幕底部有 IBOutlet,当它显示白屏时我不会隐藏它(无法加载广告)。

我有这个代码,但它不工作:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    [UIView beginAnimations:@"showAd" context:nil];

    CGRect adBannerViewFrame = [bannerView frame];
    adBannerViewFrame.origin.x = 160;
    adBannerViewFrame.origin.y = 523;

    bannerView.frame = adBannerViewFrame;

    [UIView commitAnimations];
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [UIView beginAnimations:@"hideAd" context:nil];

    CGRect adBannerViewFrame = [bannerView frame];
    adBannerViewFrame.origin.x = 0;
    adBannerViewFrame.origin.y = 0;

    bannerView.frame = adBannerViewFrame;

    [UIView commitAnimations];
}

你能帮帮我吗,我在过去两个小时里一直在苦苦挣扎......:/

【问题讨论】:

  • 为什么不使用基于块的动画?为什么ADBannerView的中心不改了?
  • 但是这种方法也应该有效。即使我删除 [UIView beginAnimations:@"hideAd" context:nil];和 [UIView commitAnimations];,它仍然没有在屏幕上移动。
  • 检查我的答案,我会放弃旧的 -beginAnimation:context: 方法,因为 Apple 在 iOS4+ 的所有情况下都建议这样做。

标签: iphone hide iad


【解决方案1】:

您应该尝试这样的事情(这是来自实时项目)。 iAd 横幅位于屏幕底部,当它变得不可见时它会下降,当它必须可见时它会重新出现。

_isiADBannerVisible 只是一个简单的Boolean 变量。

- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
    if (_isiADBannerVisible == false) {
         _isiADBannerVisible = true;

         [UIView animateWithDuration:0.5f delay:0.f options:UIViewAnimationCurveEaseInOut animations:^{
             [banner setFrame:CGRectOffset(banner.frame, 0.f, -50.f)];
         } completion:nil];
    }
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    if (_isiADBannerVisible == true) {
         _isiADBannerVisible = false;

         [UIView animateWithDuration:0.5f delay:0.f options:UIViewAnimationCurveEaseInOut animations:^{
             [banner setFrame:CGRectOffset(banner.frame, 0.f, +50.f)];
         } completion:nil];

    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多