用Swift编程隐藏Admob广告

时间:2017-08-10 13:13:51

标签: ios swift

我的浏览广告是从viewDidLoad

加载的
override func viewDidLoad() {
        super.viewDidLoad()
            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)
            bannerView.adUnitID = "ca-app-pub-myID"
            bannerView.rootViewController = self
            bannerView.loadRequest(GADRequest())
            view.addSubview(bannerView)
    }

我正在尝试使用以下功能隐藏广告:

func removeAds () {
        let bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
        bannerView.removeFromSuperview()
    }

但是,这不起作用。我犯了什么错?

1 个答案:

答案 0 :(得分:2)

您正在此处创建全新的AdView实例

func removeAds () {
        let bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
        bannerView.removeFromSuperview()
    }

您需要为视图加载

上方的当前类定义全局AdView实例

您可以使用以下代码

来实现此目的
var bannerView : GADBannerView!

override func viewDidLoad() {
        super.viewDidLoad()
           bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
            bannerView.frame = CGRect(x: 0.0,
                                      y: UIApplication.sharedApplication().statusBarFrame.size.height,
                                      width: bannerView.frame.width,
                                      height: bannerView.frame.height)
            bannerView.adUnitID = "ca-app-pub-myID"
            bannerView.rootViewController = self
            bannerView.loadRequest(GADRequest())
            view.addSubview(bannerView)
    }

您可以使用

删除该addView
func removeAds () {
        bannerView.removeFromSuperview()
    }