iAdBanner未出现在iOS 7上

时间:2015-01-11 14:36:55

标签: ios xcode position constraints

我在屏幕底部有一个iADBanner。当我在iOS 8上运行我的应用程序时,它就像一个魅力。但是,当我在iOS 7上运行应用程序时,它不会出现。

当我清除iADBanner的约束并且只将约束放在底部时,iAdBanner出现在两个iOS版本中,但是Xcode向我显示了一个"缺少约束:缺少位置X"如果我放置位置X,我们将回到iADBanner未在iOS 7上显示的问题。

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

这适用于iOS 7和8的工作:

在viewDidLoad中:

_adBanner = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.bounds.size.height, 320, 50)];
_adBanner.delegate = self;
[_adBanner setBackgroundColor:[UIColor clearColor]];
[self.view addSubview:_adBanner];

方法:

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

         [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;
     }
 }

希望这有帮助!