不同屏幕尺寸的 Admob 横幅更改框架
Admob banner change frame for different screen dimensions
我正在尝试让我的 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 ];
由于您是以编程方式而不是使用 Storyboard 创建横幅,因此我会检查屏幕的高度。我使用以下代码来确定 phone 某人在看什么。
CGFloat greaterPixelDimension = (CGFloat) fmaxf(((float)[[UIScreen mainScreen]bounds].size.height), ((float)[[UIScreen mainScreen]bounds].size.width));
然后我会在代码中创建横幅视图,如下所示:
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--,我忘记了我脑子里的数字)
您需要将 adSize
属性 设置为 Google 的设置横幅大小 kGADAdSizeBanner
。然后你设置 GADBannerView
的 frame
相对于 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
的高度:admobBannerView.frame.size.height
我正在尝试让我的 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 ];
由于您是以编程方式而不是使用 Storyboard 创建横幅,因此我会检查屏幕的高度。我使用以下代码来确定 phone 某人在看什么。
CGFloat greaterPixelDimension = (CGFloat) fmaxf(((float)[[UIScreen mainScreen]bounds].size.height), ((float)[[UIScreen mainScreen]bounds].size.width));
然后我会在代码中创建横幅视图,如下所示:
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--,我忘记了我脑子里的数字)
您需要将 adSize
属性 设置为 Google 的设置横幅大小 kGADAdSizeBanner
。然后你设置 GADBannerView
的 frame
相对于 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
的高度:admobBannerView.frame.size.height