iAd View и пользовательский ViewController - PullRequest
1 голос
/ 25 октября 2011

Я пытаюсь интегрировать iAd в мое приложение.

У меня есть класс SwitchViewController (: UIViewController), который работает со всеми пользовательскими ViewController & Views, которые есть в этом приложении.

При добавленииПри просмотре, как показано ниже при самом высоком индексе, я получаю сообщение об ошибке:

ADBannerView: WARNING A banner view has an ad but may be obscured

Однако, если я не вставляю все остальные подпредставления - iAd работает нормально.Я вижу это, но, конечно, все другие виды исчезли.

Любые идеи?

Добавление подпредставления:

ADBannerView *tmpBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
self.adView_iPad = tmpBannerView;
self.adView_iPad.frame = CGRectMake(0, 0, self.adView_iPad.frame.size.width, self.adView_iPad.frame.size.height);
self.adView_iPad.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait];
self.adView_iPad.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
self.adView_iPad.delegate = self;
[self.view insertSubview:self.adView_iPad atIndex:100];

1 Ответ

0 голосов
/ 25 октября 2011

Вы всегда хотите убедиться, что ADBannerView является самым верхним представлением в иерархии, чтобы избежать этого предупреждения.Если какое-либо представление перекрывает его, даже если оно имеет прозрачность, вы получите это предупреждение.

Вы можете просто сделать что-то вроде этого.

ADBannerView *adView = <create the view>;
[superView addSubview:adView];
[superView bringSubviewToFront:adView];

ОБНОВЛЕНИЕ:

При настройке размера представления лучше всего запросить у класса размер.

+ (CGSize)sizeFromBannerContentSizeIdentifier:(NSString *)contentSizeIdentifier

Это вернет высоту и ширину, которые вы должны использовать.Итак, установите кадр так:

CGSize size = [ADBannerView sizeFromBannerContentSizeIdentifier: ADBannerContentSizeIdentifierPortrait];
self.adView_iPad.frame = CGRectMake(0, 0, size.width, size.height);
...