0

我有以下 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;
}

如果广告不可用,我想缩小我的标题视图。如果有广告,我想扩大它。

当视图加载时,这工作正常。但是,这些委托方法似乎在视图加载后停止被调用。我可能会遇到以下情况:

  1. 视图 A 加载,但没有可用的 iAd,因此 headerView 被缩小
  2. 用户转到视图 B
  3. 用户返回视图 A
  4. 问题:视图 A 已经加载,所以 headerView 被缩小了,但是没有调用 ADBannerViewDelegate 方法,所以我无法检查是否有广告可用

即使在最初加载视图之后,如何确保调用这些委托方法?

4

1 回答 1

0

委托方法确实被调用。苹果只是有时不提供广告,所以你有机会处理它。

于 2010-09-21T18:18:26.143 回答