iAd: методы ADBannerViewDelegate вызываются только один раз после viewDidLoad () - PullRequest
0 голосов
/ 15 сентября 2010

У меня есть следующие реализации 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. View A загружается, но iAd недоступен, поэтому headerView сокращается
  2. Пользователь переходит на Вид B
  3. Пользователь возвращается к виду A
  4. ПРОБЛЕМА: представление A уже загружено, поэтому headerView сжато, но методы ADBannerViewDelegate не вызываются, поэтому я не могу проверить, доступно ли объявление

Как я могу убедиться, что эти методы делегата вызываются даже после первоначальной загрузки представления?

1 Ответ

0 голосов
/ 21 сентября 2010

Методы делегатов действительно вызывают.Apple просто иногда не показывает рекламу, поэтому у вас есть шанс справиться с этим.

...