我有以下 ADBannerViewDelegate 实现:
#pragma mark ADBannerViewDelegate Methods
- (void)bannerViewDidLoadAd:(ADBannerView *)banner {
self.headerView.frame = CGRectMake(0, 0, 320, 94);
[self.tableView setTableHeaderView:headerView];
adBannerView.hidden = FALSE;
}
- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
headerView.frame = CGRectMake(0, 0, 320, 50);
[self.tableView setTableHeaderView:headerView]; //hide the ad if it doesnt fill
adBannerView.hidden = TRUE;
}
如果广告不可用,我想缩小我的标题视图。如果有广告,我想扩大它。
当视图加载时,这工作正常。但是,这些委托方法似乎在视图加载后停止被调用。我可能会遇到以下情况:
- 视图 A 加载,但没有可用的 iAd,因此 headerView 被缩小
- 用户转到视图 B
- 用户返回视图 A
- 问题:视图 A 已经加载,所以 headerView 被缩小了,但是没有调用 ADBannerViewDelegate 方法,所以我无法检查是否有广告可用
即使在最初加载视图之后,如何确保调用这些委托方法?