У меня есть 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];
}
}
Который вызывает код, который я использую для анимации поворота дисплея в портретном и альбомном режимах. Этот код не имеет никакого эффекта.
Если у кого-то есть идеи относительно того, почему тестовые рекламные объявления не вращаются правильно и почему они отталкивают родительский контроллер представления от экрана, я был бы очень признателен.