iAd Landscape Strange View Behavior

У меня есть iAd, который отображается в верхней части полноэкранного подвида основного представления. IAd нормально работает в портретном режиме, и я обработал поворот баннера iAd в альбомный режим. Проблема возникает, когда пользователь нажимает на iAd в альбомном режиме. Тестовая реклама отображается на телефоне в портретной ориентации сбоку, и когда пользователь нажимает x, чтобы закрыть iAd, представление баннера и его родительское представление перемещаются за пределы экрана. IAd обычно ведет себя в портретном режиме (т.е. нажатие на него и закрытие приводит к нормальному отображению представления, содержащего баннер).

Что я пробовал:

- (void)bannerViewActionDidFinish:(ADBannerView *)banner{
NSLog(@"Ad was closed, show the adView again");
if(UIInterfaceOrientationIsLandscape(currentInterfaceOrientation)){
    [self animateRotationToLandscape:0.3f];
}
else{
    [self animateRotationToPortrait:0.3f];
}
}

-(void)animateRotationToPortrait:(NSTimeInterval)duration{
    self.adView.currentContentSizeIdentifier =
    ADBannerContentSizeIdentifierPortrait;

    BOOL iPad = NO;
    #ifdef UI_USER_INTERFACE_IDIOM
    iPad = (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad);
    #endif

    if (iPad) {
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:duration];
        proUpgradeDescription.frame = CGRectMake(82,313,604,110);
        proUpgradePrice.frame = CGRectMake(313,576,142,28);
        closeButton.frame = CGRectMake(348,834,72,37);
        purchaseButton.frame = CGRectMake(313,431,142,142);
        [UIView commitAnimations];
    }
    else{
        [UIView beginAnimations:nil context:nil];
        [UIView setAnimationDuration:duration];
        proUpgradeDescription.frame = CGRectMake(20,80,280,70);
        proUpgradePrice.frame = CGRectMake(88,322,142,28);
        closeButton.frame = CGRectMake(123,403,72,37);
        purchaseButton.frame = CGRectMake(88,172,142,142);
        [UIView commitAnimations];
    }
}

который вызывает код, который я использую для анимации вращения дисплея для портретного и ландшафтного режима. Этот код не действует.

Если у кого-то есть идеи относительно того, почему тестовые рекламные объявления не вращаются правильно и почему они выталкивают родительский контроллер представления с экрана, я был бы очень признателен.

8
задан wasabi 26 April 2011 в 02:00
поделиться