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 回答