【问题标题】:XCODE / SWIFT - reposition ADMOB banner to the bottomXCODE / SWIFT - 将 ADMOB 横幅重新定位到底部
【发布时间】:2014-11-03 16:07:19
【问题描述】:

我无法重新定位我的 admob 横幅在屏幕底部,无论我尝试过什么留在顶部.. 我发现了很多这类问题,我已经尝试过他们所做的,但没有任何效果。 这是我正在尝试的:

 bannerView = GADBannerView(adSize: kGADAdSizeBanner)
            bannerView?.adUnitID = "ca-app-pub-466066799532826501/8972705271"
            bannerView?.delegate = self
            bannerView?.rootViewController = self



            let screenRect = UIScreen.mainScreen().bounds

            let screenWidth = screenRect.size.width
            let screenHeight = screenRect.size.height
            let screenXPos = (screenWidth / 2)
            let screenYPos = screenHeight - kGADAdSizeBanner.size.height
            bannerView!.frame = CGRectMake(screenWidth/2.0 - bannerView!.frame.size.width/2.0, screenHeight - bannerView!.frame.size.height,
                bannerView!.frame.size.width,bannerView!.frame.size.height);



            self.view.addSubview(bannerView!)
            bannerView?.loadRequest(GADRequest())

            timerAd?.invalidate()
            timerAd = NSTimer.scheduledTimerWithTimeInterval(40, target: self, selector: "GoogleAdRequestTimer", userInfo: nil, repeats: true)

【问题讨论】:

    标签: ios xcode swift position admob


    【解决方案1】:

    这就是我的做法:

    func adViewDidReceiveAd(view: GADBannerView!) {
        println("adViewDidReceiveAd:\(view)");
        bannerDisplayed = true
        relayoutViews()
    }
    
    
    func relayoutViews() {
        if (bannerDisplayed) {
            var bannerFrame = bannerView!.frame
            bannerFrame.origin.x = 0
            bannerFrame.origin.y = screenHeight - bannerFrame.size.height
    
            bannerView!.frame = bannerFrame
        // and so on
    

    【讨论】:

      【解决方案2】:

      GoogleAds GitHub 有一个example

       bannerView = GADBannerView(adSize: kGADAdSizeSmartBannerPortrait)
       bannerView.adUnitID = "*******YOUR CA-PUB-ID*******"
       bannerView.rootViewController = self
      
       let request = GADRequest()
       request.testDevices = [ kGADSimulatorID, "********* YOUR SIMULATOR ID*******" ]
      
       self.view.addSubview(bannerView)
       bannerView.translatesAutoresizingMaskIntoConstraints = false
      
       view.addConstraint(NSLayoutConstraint(item: bannerView, attribute: .bottom,
           relatedBy: .equal, toItem: view, attribute: .bottom, multiplier: 1, constant: 0))
       view.addConstraint(NSLayoutConstraint(item: bannerView, attribute: .centerX,
           relatedBy: .equal, toItem: view, attribute: .centerX, multiplier: 1, constant: 0))
      
       bannerView.load(request)
      

      【讨论】:

        【解决方案3】:

        在正常设置之后添加约束。 这让我得到了我想要的将横幅广告定位到底部中心的位置。

        func addBannerViewToView(_ bannerView: GADBannerView) {
             bannerView.translatesAutoresizingMaskIntoConstraints = false
             view.addSubview(bannerView)
             view.addConstraints(
                [NSLayoutConstraint(item: bannerView,
                                    attribute: .bottom,
                                    relatedBy: .equal,
                                    toItem: view.safeAreaLayoutGuide,
                                    attribute: .bottom,
                                    multiplier: 1,
                                    constant: 0),
                NSLayoutConstraint(item: bannerView,
                attribute: .centerX,
                relatedBy: .equal,
                toItem: view.safeAreaLayoutGuide,
                attribute: .centerX,
                multiplier: 1,
                constant: 0)]
                )
        
            }
        

        【讨论】:

          猜你喜欢
          • 2016-09-15
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多