iAd始终显示在视图控制器的底部

时间:2014-09-12 00:27:55

标签: view uinavigationcontroller iad tabbar

我正在尝试将我的bannerad节目放在我的桌面视图上方的视图控制器顶部,这也是在我的视图控制器中。另外,我正在使用导航控制器和标签栏控制器。当广告可用时,我希望广告从顶部向下滑动并将我的桌面视图向下推动横幅广告的高度(50px)。我有一段时间这样做!我已经尝试了大量不同的教程和技巧,但我无法像我想的那样工作。

在这一点上,我只是尝试在顶部加载广告并且我的代码非常简单,但无论我做什么,它总是位于标签栏后面的底部。任何帮助完成我的对象是非常感谢!另外,如果我从故事板中拖动bannerad对象,在我的tableview控制器上方,那么这可以工作,但是当没有广告加载时我留下了空格。所以,我认为我必须以编程方式做到这一点,但在这里挣扎。

- (void)viewDidAppear:(BOOL)animated
{
    [super viewDidAppear:animated];

ADBannerView *adView = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height - 50, 320, 50)];
[self.view addSubview:adView];

}

1 个答案:

答案 0 :(得分:0)

我想出来了,所以如果有人需要的话,我会发布我的答案:

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if (!self.bannerIsVisible)
{
    [UIView beginAnimations:@"animateAdBannerOn" context:NULL];
    // banner is invisible now and moved out of the screen on 50 px
    banner.frame = CGRectOffset(banner.frame, 0, 50);
    //Moves tableview down when banner becomes available
    m_tableView.frame = CGRectMake(0,50,320,464);
    [UIView commitAnimations];
    self.bannerIsVisible = YES;
    NSLog(@"Got Banner");
}
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible)
{
    [UIView beginAnimations:@"animateAdBannerOff" context:NULL];
    // banner is visible and we move it out of the screen, due to connection issue
    banner.frame = CGRectOffset(banner.frame, 0, -50);
    //Moves tableview back up when banner is unavailable
    m_tableView.frame = CGRectMake(0,0,320,504);
    [UIView commitAnimations];
    self.bannerIsVisible = NO;
    NSLog(@"Got NO Banner");
}
}