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

View iAd始终显示在视图控制器的底部,view,uinavigationcontroller,iad,tabbar,View,Uinavigationcontroller,Iad,Tabbar,我试图让我的bannerad显示在我的视图控制器的顶部,也在我的视图控制器中。另外,我正在使用导航控制器和选项卡栏控制器。当广告可用时,我希望广告从顶部滑动,并将我的桌面视图向下按横幅广告50px的高度。我做这件事花了很长时间!我已经尝试了很多不同的教程和技巧,但我无法得到任何我想要的 在这一点上,我只是试图加载顶部的广告,我有非常简单的代码,但无论我做什么,它总是在标签栏后面的底部。非常感谢为实现我的目标而提供的任何帮助!此外,若我从情节提要中拖动bannerad对象,在tableview控制

我试图让我的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];

}

我发现了这一点,所以我发布了我的答案,以防有人需要它:

- (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");
}
}