我试图让我的Admob广告在Apple提供的所有不同iPhone屏幕尺寸之间进行调整,但我无法弄清楚如何让它自动调整或使用不同的代码。
在我的viewdidload
bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
bannerView_.adUnitID = @"";
bannerView_.rootViewController = self;
[self.view addSubview:bannerView_];
[bannerView_ loadRequest:[GADRequest request]];
GADRequest *request = [GADRequest request];
request.testDevices = [NSArray arrayWithObjects:@"", nil ];
答案 0 :(得分:2)
您需要将adSize
属性设置为Google的设置横幅尺寸kGADAdSizeBanner
。然后,相对于GADBannerView
设置frame
的{{1}}。以下代码将view
放在GADBannerView
的底部。
view
admobBannerView.adSize = kGADAdSizeBanner;
admobBannerView.frame = CGRectMake(0, self.view.frame.size.height - admobBannerView.frame.size.height , self.view.frame.size.width, admobBannerView.frame.size.height);
- 设置为x
0
- 将原点设置为y
的高度。但这会使它显示在屏幕的底部。因此,我们必须减去view
的高度,将其移到屏幕上:GADBannerView
self.view.frame.size.height - admobBannerView.frame.size.height
- 将其设置为width
的宽度:view
self.view.frame.size.width
- 将其设置为height
:GADBannerView
答案 1 :(得分:0)
由于您是以编程方式而不是使用Storyboard创建横幅,因此我会检查以查找屏幕的高度。我使用以下代码来确定某人的电话。
CGFloat greaterPixelDimension = (CGFloat) fmaxf(((float)[[UIScreen mainScreen]bounds].size.height), ((float)[[UIScreen mainScreen]bounds].size.width));
然后我会在代码中创建bannerview:
if (greaterPixelDimension == 736) { //6 plus
bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, ###, 4--, 50)];
}
else if (greaterPixelDimension == 667){ // 6
bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, ###, 3--, 50)];
}
else if(greaterPixelDimension == 568){ // 5
bannerView_ = [[GADBannerView alloc] initWithFrame:CGRectMake(0, 430, 320, 50)];
}
等。 (显然用相应的点替换###和3--,我忘记了我头顶的数字)