I ont les implémentations ADBannerViewDelegate suivantes:iAd: méthodes de ADBannerViewDelegate appelée une seule fois après viewDidLoad()
#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;
}
Si une annonce est disponible, je veux réduire mon headerview. S'il y a une publicité, je veux l'agrandir.
Cela fonctionne correctement lorsque la vue est chargée. Cependant, il semble que ces méthodes déléguées cessent d'être appelées après le chargement de la vue. Je peux éventuellement courir dans le scénario suivant:
- Voir A charge, mais pas iAd est disponible si headerView est ratatinée
- utilisateur va View B
- utilisateur revient pour afficher une
- PROBLÈME: voir a a déjà chargé, de sorte que le headerView est ratatinée, mais les méthodes de ADBannerViewDelegate ne sont pas appelés, donc je ne peux pas vérifier si une annonce est disponible
Comment puis-je assurer que ces délé Les méthodes sont-elles appelées même après le chargement initial de la vue?