如何定位 Admob 智能横幅?

How do I position an Admob Smart Banner?

我使用以下代码创建了一个 320x50 的横幅广告:

var bannerView = GADBannerView(frame:CGRectMake(0, 20, 320, 50))

广告的 y 轴位置应为 20,以便为状态栏留出 space。现在,我想改为使用智能横幅。所以我将代码更改为:

let bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)

显然上面的代码覆盖了状态栏。我不知道如何让智能横幅出现在 20 的 y 位置。

改变你的 bannerViewframe:

let bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
bannerView.frame = CGRect(x: 0.0,
                          y: UIApplication.sharedApplication().statusBarFrame.size.height,
                          width: bannerView.frame.width,
                          height: bannerView.frame.height)

此外,设置静态位置通常不是一个好主意。您可以使用 UIApplication.sharedApplication().statusBarFrame.size.height 获取状态栏的高度。这样,即使状态栏高度发生变化,您也不必担心。

您可以像这样更改横幅视图的框架:

 bannerView.frame = CGRectMake(0, 20, bannerView.frame.width, bannerView.frame.height)

您可以如下发起查看:

let bannerView = GADBannerView(frame:CGRectMake(0, UIApplication.sharedApplication().statusBarFrame.size.height, CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).width, CGSizeFromGADAdSize(kGADAdSizeSmartBannerPortrait).height))