У меня есть вид баннера iAd, со всеми моими контрактами вверх и вниз, и я внедрил делегата ADBannerView
. Баннер должен исчезнуть без подключения к Интернету, но он просто показывает белый ящик, в котором должно быть содержимое. Я знаю, что у меня есть весь код, я видел миллион учебников по этому вопросу. Поэтому я провел несколько тестов и обнаружил, что представление баннера даже не вызывает два метода для делегата! Вот код.iAd Banner View Делегат не вызывает методы
В файле .h:
#import <iAd/iAd.h>
@interface DetailViewController : ADBannerViewDelegate>
{
ADBannerView *aBanner;
BOOL bannerIsVisible;
}
@property (nonatomic, retain) IBOutlet ADBannerView *aBanner;
@property (nonatomic, assign) BOOL bannerIsVisible;
@end
в файле .m:
@implementation DetailViewController
@synthesize aBanner,bannerIsVisible;
//Show banner if can load ad.
-(void)bannerViewDidLoadAd:(ADBannerView *)banner
{
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOn" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, -banner.frame.size.height);
[UIView commitAnimations]; self.bannerIsVisible = YES; }
}
//Hide banner if can't load ad.
-(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
if (self.bannerIsVisible) {
[UIView beginAnimations:@"animateAdBannerOff" context:NULL]; banner.frame = CGRectOffset(banner.frame, 0, banner.frame.size.height);
[UIView commitAnimations]; self.bannerIsVisible = NO; }
}
ли методы делегата дозвонились, когда есть рабочее соединение? –
Вызывается, когда есть соединение, когда нет –
Правильно, я понимаю, что означают методы. Я спрашиваю, работает ли ваш код, когда есть соединение? Они могут вообще не работать, независимо от подключения. –