我的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等其他方法中。
答案 0 :(得分:0)
这是一件事,
在你的主视图上,添加一个类型为UIView的视图,给它一个与你想要的添加大小相关的大小,
然后,不要在主视图中加载广告,而是将其加载到专门为横幅广告添加的视图中