【发布时间】:2014-06-06 15:45:38
【问题描述】:
我的 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。
【问题讨论】:
-
我遇到了同样的问题。如果您找到解决方案,请告诉我。
标签: ios iphone objective-c iad