0

アプリで Admob メディエーションを使用しています。基本的に、ビューの上部にはバナー用に予約されたスペースがあります。

したがって、私のコードでは、iPad と iPhone のどちらに移動するかをバナーに伝えることができます。

それは私の iPhone で完全に動作し、奇妙なことに、これは iPad と iPhone の両方の他の多くのアプリで動作しますが、何らかの理由で、このアプリでは、iPad のみで、画面の上部に余分な部分が作成されます。バナーが一番上にあるのではなく、そのバナーの後に、たとえば 30 ピクセル (約) の小さなギャップがあり、これが画面を押し下げるので、恐ろしく見えます!

呼び出しに使用されるコードは次のとおりです。アイデアはありますか? そのバナー ビューの iPad 部分を削除すると、ビューは正常に読み込まれるため、そのコードに何かが含まれている必要があります。

- (void)viewDidLoad{

if(UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)
{

    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
    bannerView_.adUnitID = MY_BANNER_UNIT_ID;
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;
    CGFloat screenXPos = (screenWidth /2);
    CGFloat screenYPos = screenHeight - 980;
    [bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
    bannerView_.rootViewController = self;
    bannerView_.adUnitID = MY_BANNER_UNIT_ID;
    bannerView_.rootViewController = self;
    [self.view addSubview:bannerView_];

}else{


    bannerView_ = [[GADBannerView alloc] initWithAdSize:kGADAdSizeSmartBannerPortrait];
    bannerView_.adUnitID = MY_BANNER_UNIT_ID;
    CGRect screenRect = [[UIScreen mainScreen] bounds];
    CGFloat screenWidth = screenRect.size.width;
    CGFloat screenHeight = screenRect.size.height;
    CGFloat screenXPos = (screenWidth /2);
    CGFloat screenYPos = screenHeight - 455;
    [bannerView_ setCenter:CGPointMake(screenXPos, screenYPos)];
    bannerView_.rootViewController = self;
    bannerView_.adUnitID = MY_BANNER_UNIT_ID;
    bannerView_.rootViewController = self;
    [self.view addSubview:bannerView_];

[super viewDidLoad];
self.navigationController.navigationBarHidden=YES;
isCharging = FALSE;
isFull = FALSE;
count =0;

}

}

4

1 に答える 1

0

navigationBar?を非表示にすることと何か関係があるのだろうか。おそらく[super viewDidLoad]、メソッドの最初の行を作成する必要があります。navigationBar最初に非表示にするとどうなりますか?

また、広告配置コードをviewWillAppear: (通常はビュー フレームが既に設定されている場所) に移動した方がよいでしょうか?

于 2012-11-06T17:26:43.900 に答える