GADBannerView removeFromSuperview无法正常运行

时间:2019-07-26 19:03:45

标签: ios swift admob

我正在使用GADBannerView来显示横幅广告。这是我加载广告的方式:

override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(true)

        if !pro {
            // In this case, we instantiate the banner with desired ad size.
            bannerView = GADBannerView(adSize: kGADAdSizeBanner)

            addBannerViewToView(bannerView)

            bannerView.adUnitID = myAdUnit
            bannerView.rootViewController = self
            bannerView.load(GADRequest())

            bannerView.delegate = self

            print("did load banner")
        } else {
            if bannerView != nil {
                bannerView.isHidden = true
                bannerView.removeFromSuperview()
                print("Removed bannerView")
            }
        }
    }

因此加载工作正常。我的第二个视图控制器连接在选项卡栏控制器中。当我在第二个视图控制器中按unlockButton时,它将值pro设置为true。导航回第一个视图控制器时,我可以看到它在日志视图中显示 Removed bannerView ,但横幅仍然存在。有提示吗?

1 个答案:

答案 0 :(得分:0)

如果要摆脱GADBannerView类的所有子视图,只需执行以下操作:

for v in view.subviews {
    if v is GADBannerView {
        v.removeFromSuperview()
    }
}
相关问题