2015-07-02 1 views
2

У меня есть UITabBar, и в каждом представлении есть баннер iAd. Все работает отлично, когда я выбираю вид, но когда я меняю вид, и чем я возвращаюсь к первому, значок iAd Banner не загружается должным образом (он белый и показывает логотип iAd в правом углу), и я получите эту ошибку: The operation couldn’t be completed. Ad was unloaded from this banner.UITabBar iAd Баннер Не правильно загружается после изменения вида

Примерно через 15 секунд Баннер загружает объявление

Вот код для загрузки баннера (Это то же самое в каждом представлении)

@property (nonatomic, strong) ADBannerView *banner; 

В viewDidLoad

self.banner = [[ADBannerView alloc] initWithFrame:CGRectMake(0, self.view.frame.size.height-29-50, self.view.bounds.size.width, 50)]; 
self.banner.delegate = (id)self; 

[self.view addSubview:self.banner]; 

и

-(void)bannerViewActionDidFinish:(ADBannerView *)banner{ 
    NSLog(@"Ad Banner action did finish"); 
} 

-(void)bannerViewDidLoadAd:(ADBannerView *)banner{ 
    NSLog(@"Ad Banner did load ad."); 

    [UIView animateWithDuration:0.5 animations:^{ 
     self.banner.alpha = 1.0; 
    }]; 
} 

-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error{ 
    NSLog(@"Unable to show ads. Error: %@", [error localizedDescription]); 

    [UIView animateWithDuration:0.5 animations:^{ 
     self.banner.alpha = 0.0; 
    }]; 
} 

ответ

0

В вашем viewWillAppear установить ваши ADBannerView «ы alpha первоначально 0:

-(void)viewWillAppear:(BOOL)animated { 
    self.banner.alpha = 0.0; 
} 

Таким образом, когда вы загрузите старый view ваш ADBannerView будет скрыт, пока он получает объявление от сети ОВР снова.

Лучшим подходом было бы использовать Shared iAd Banner по всему вашему приложению.