导航控制器弹出后iAd标题不再出现

时间:2014-05-16 02:51:14

标签: ios iphone objective-c iad

我的iAd横幅视图遇到了问题。最初,当我的应用首次加载时,我有一个主菜单。我有一个iAd横幅位于视图的底部边缘之外,一旦我的视图出现,它就会显示为动画。当我按下按钮以推送到导航控制器层次结构中的另一个视图控制器,然后按回以返回到主菜单时,iAd不会重新出现。只有在我完全重新启动应用程序时才会再次显示。

这是我的代码:

//MainMenu. h
@property (strong, nonatomic) IBOutlet ADBannerView *adView;
@property (nonatomic) BOOL bannerIsVisible;


 //MainMenu.m
-(void)viewWillAppear:(BOOL)animated
{
    bannerIsVisible = NO;

    adView.delegate = self;

   [self.navigationController setNavigationBarHidden: YES animated:YES];

}

#pragma Begin Ad View Methods
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    if(bannerIsVisible == NO)
    {
        NSLog(@"Banner ad loaded");

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

        banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);

        [UIView commitAnimations];

        bannerIsVisible = YES;
    }
}

-(void)viewWillDisappear:(BOOL)animated
{
    if(bannerIsVisible == YES)
    {
        [UIView beginAnimations:@"animateBannerOff" context:NULL];

        adView.frame = CGRectOffset(adView.frame, 0, adView.frame.size.height);

        [UIView commitAnimations];

        bannerIsVisible = NO;
    }
}

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    NSLog(@"Failed to load the ad in main menu: %@", [error localizedDescription]);
}

#pragma End Ad View Methods

我已经尝试删除偏移方法,只是转动adView.hidden = YES / NO来查看它是否是动画问题,但结果是一样的。如果有人可以提供提示或帮助,将不胜感激。我也尝试将相应的代码放在viewDidLoad和viewDidDisappear等其他方法中。

1 个答案:

答案 0 :(得分:0)

这是一件事,

在你的主视图上,添加一个类型为UIView的视图,给它一个与你想要的添加大小相关的大小,

然后,不要在主视图中加载广告,而是将其加载到专门为横幅广告添加的视图中