0

アプリのビュー コントローラーに AdBannerView を実装しました。iPhone では問題なく動作しますが、iPad でテストすると問題が発生します。広告は正常に表示されますが、Wi-Fi をオフにして非表示をテストすると、広告はウィンドウ内のすべての要素を削除し、背景とタブバーをそのまま残します。これは iPad でのみ発生します。

広告ビューをアニメーション化するためのコードは次のとおりです。

- (void)fixupAdView:(UIInterfaceOrientation)toInterfaceOrientation {
int adY = 432;
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{
    adY = 955;
}
if (_adBannerView != nil) {        
    if (UIInterfaceOrientationIsLandscape(toInterfaceOrientation)) {
        [_adBannerView setCurrentContentSizeIdentifier:
         ADBannerContentSizeIdentifierLandscape];
    } else {
        [_adBannerView setCurrentContentSizeIdentifier:
         ADBannerContentSizeIdentifierPortrait];
    }          
    [UIView beginAnimations:@"fixupViews" context:nil];
    if (_adBannerViewIsVisible) {
        NSLog(@"Visible");
        CGRect adBannerViewFrame = [_adBannerView frame];
        adBannerViewFrame.origin.x = 0;
        adBannerViewFrame.origin.y = adY -
        [self getBannerHeight:toInterfaceOrientation];

        [_adBannerView setFrame:adBannerViewFrame];
        CGRect contentViewFrame = _contentView.frame;

        contentViewFrame.origin.y = adY +
        [self getBannerHeight:toInterfaceOrientation];

        contentViewFrame.size.height = self.view.frame.size.height - 
        [self getBannerHeight:toInterfaceOrientation];

        _contentView.frame = contentViewFrame;

    } else {
        NSLog(@"Not Visible");
        CGRect adBannerViewFrame = [_adBannerView frame];
        adBannerViewFrame.origin.x = 0;
        adBannerViewFrame.origin.y = adY;

        [_adBannerView setFrame:adBannerViewFrame];
        CGRect contentViewFrame = _contentView.frame;

        contentViewFrame.origin.y = adY
        + [self getBannerHeight:toInterfaceOrientation];

        contentViewFrame.size.height = self.view.frame.size.height;

        _contentView.frame = contentViewFrame;            
    }
    [UIView commitAnimations];
}   

}

4

1 に答える 1

0

広告ビューのオフセット フレームが間違った場所にありました。たまたま iPhone フレームにぴったりだったので、広告ビューが作成されたときに、広告を適切な場所にプッシュするのに十分でした。iPad の時代になると、計算されたオフセットはビューをウィンドウから押し出しましたが、ビューに戻るには十分ではありませんでした。

于 2012-04-16T17:07:43.477 に答える