iAd не соответствует ширине при запуске из ландшафтного режима - PullRequest
1 голос
/ 18 февраля 2012

Я правильно переключаю и масштабирую iAd на portraid, и ландшафтный режим исключается, когда просмотр начинается из ландшафтного режима.В этом случае iAd остается на узкой ширине, что соответствует portraid.Затем, когда повернуть устройство в положение и вернуться к пейзажу, это решается.Как это решить?Спасибо.

- (void)viewDidLoad
{   
    //iAd

    adView =[[ADBannerView alloc] initWithFrame:CGRectZero];

    adView.requiredContentSizeIdentifiers = [NSSet setWithObjects: ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];

    adView.delegate = self;

    [self.view addSubview:adView];

    [super viewDidLoad];
}


- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation duration:(NSTimeInterval)duration {

    if (UIInterfaceOrientationIsPortrait(orientation)) {
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
    } else {
        adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
    }

}

1 Ответ

1 голос
/ 18 февраля 2012

Вы не указываете adView, с какой ориентации следует начинать, поэтому он начинается с ориентации по умолчанию.

Попробуйте добавить следующее в viewDidLoad:

if (UIInterfaceOrientationIsPortrait([UIDevice currentDevice].orientation)) {
    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait;
} else {
    adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierLandscape;
}
[self.view addSubview:adView];
...