首页 > 解决方案 > 在 UIStackView 内显示时,GADBannerView 广告未全宽

问题描述

我在我的应用程序中显示 GADBannerView。

lazy var bannerView: GADBannerView = {
    let b = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
    b.adUnitID = "... id ..."
    b.rootViewController = self
    b.load(GADRequest())
    return b
}()

如果我将它显示为“self.view”的子视图,它可以正常工作。

self.view.addSubview(contentView)
self.view.addSubview(bannerView)
// autolayout for contentView and bannerView ...

好的显示...

在此处输入图像描述

但作为一些要求,我想在垂直的 UIStackView 中显示它。

let stack = UIStackView(arrangedSubviews: [contentView, bannerView])
stack.axis = .vertical
stack.distribution = .equalSpacing
stack.alignment = .fill

// autolayout for stack view ...

问题似乎是广告显示不全宽,有 2 个黑色末端(左右),如下图所示

显示不好...

在此处输入图像描述

我尝试了 GADBannerView 的调试视图层次结构,它都是子视图。一切看起来都不错,全尺寸,等于外观,375,我用 iPhone 12 mini 测试过,如下图

在此处输入图像描述 在此处输入图像描述

我无法弄清楚问题所在。如果您知道这一点,请帮助我。谢谢!

标签: iosxcodeuistackviewgooglemobileadsgadbannerview

解决方案


推荐阅读