如何以编程方式在iOS中的iAds Banner上显示广告

时间:2016-01-14 13:07:50

标签: ios iphone iad

这是我第一次整合iAds的体验。我使用了以下链接

http://codewithchris.com/iad-tutorial/

我完美地实现了它。我的应用程序显示AddBannerView完美但广告隐藏并显示无法正常工作。我通过使用storyboard添加adBannerView并连接其代理和IBOutlets。

-(void)bannerViewDidLoadAd:(ADBannerView *)banner {
    if (! bannerIsVisible) {
        // If banner isn't part of view hierarchy, add it
        if (advertiseView.superview == nil) {
            [self.view addSubview:advertiseView];
        }

        [UIView beginAnimations:@"animateAdBannerOn" context:NULL];

        // Assumes the banner view is just off the bottom of the screen.
        banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);

        [UIView commitAnimations];

        bannerIsVisible = YES;
    }
}

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {
    NSLog(@"Failed to retrieve ad");

    if (bannerIsVisible) {
        [UIView beginAnimations:@"animateAdBannerOff" context:NULL];

        // Assumes the banner view is placed at the bottom of the screen.
        banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);

        [UIView commitAnimations];

        bannerIsVisible = NO;
    }
}

enter image description here

1 个答案:

答案 0 :(得分:0)

您遵循的教程已过时。您的ADBannerView在一段时间内处于视图中间的原因是因为CGRectOffset的{​​{1}}委托方法中的ADBannerView。我猜你的问题bannerIsVisible BOOL

另外,请勿使用beginAnimations:context:方法。来自UIView Class Reference

  

在iOS 4.0及更高版本中不鼓励使用此方法。你应该用   基于块的动画方法来指定你的动画。

以下是如何以编程方式实现ADBannerView的示例。此示例为alpha的{​​{1}}属性设置动画以显示或隐藏它。也没有必要设置ADBannerView的框架。它将知道它所在的设备和适当的尺寸。设置它的位置就足够了。

ADBannerView