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