AdWhirl を使用して、iAd と AdMob の両方の広告をアプリに表示しています。iPad で横向きの場合、幅 1024 の AdWhirlView を作成しますが、返される最初の iAd は常に縦幅の広告 (768) です。iPad を縦向きに回転させてから横向きに戻すと、広告は横向きで 1024 幅で正しく表示されます。
ローテーションなしで横向きの広告が表示されないのはなぜですか?
- (void) setupAdWhirl {
if (self.adWhirlView == nil) {
CGFloat adWhirlHeight = 90.0;
CGSize size = self.rootViewController.view.bounds.size;
NSLog(@"rootVC.bounds=%@", NSStringFromCGRect(self.rootViewController.view.bounds));
AdWhirlView *adWhirl = [AdWhirlView requestAdWhirlViewWithDelegate:self];
adWhirl.frame = CGRectMake(0, size.height - adWhirlHeight, size.width, adWhirlHeight);
adWhirl.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleTopMargin;
NSLog(@"adWhirl.frame=%@", NSStringFromCGRect(adWhirl.frame));
[self.rootViewController.view addSubview:adWhirl];
self.adWhirlView = adWhirl;
}
}
これら 2 つのログ ステートメントは次のように出力されます。
rootVC.bounds={{0, 0}, {1024, 748}}
adWhirl.frame={{0, 658}, {1024, 90}}
したがって、adWhirlView で最初に設定するフレームは、幅 1024、高さ 90 です。ただし、最初の iAd をロードすると、幅 768 にサイズ変更されます。