簡體   English   中英

Xcode6 / Swift-如何在多個視圖控制器中實現iAdBannerView?

[英]Xcode6/Swift - How to implement an iAdBannerView in multiple view controllers?

在開始之前,我知道這個問題已經被問過很多次了,但是所有這些問題都是針對xcode5 / objective-C的,而不是迅速的。 我只是應用程序開發的新手,所以我一直無法理解Objective-C並迅速使用它。

我的第一個視圖控制器上有一個adBannerView,但是我如何拿起這個橫幅並在其他2個視圖控制器上使用它? 我是否使用prepareForSegue函數(如果是,如何使用)?

我目前擁有的adBannerView的代碼(從這里開始

//...
import iAd

class ViewController: UIViewController, ADBannerViewDelegate {

//link adBanner
@IBOutlet var adBannerView: ADBannerView!

override func viewDidLoad() {
    super.viewDidLoad()
    // Do any additional setup after loading the view, typically from a nib.
    self.canDisplayBannerAds = true
    self.adBannerView.delegate = self
    self.adBannerView.hidden = true
}

func bannerViewWillLoadAd(banner: ADBannerView!) {
    NSLog("bannerViewWillLoadAd")
}

func bannerViewDidLoadAd(banner: ADBannerView!) {
    NSLog("bannerViewDidLoadAd")
    self.adBannerView.hidden = false
}

func bannerViewActionDidFinish(banner: ADBannerView!) {
    NSLog("bannerViewDidLoadAd")
    //optional resume paused game code

}

func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
    NSLog("bannerViewActionShouldBegin")
    //optional pause game code

    return true
}

func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
    NSLog("bannerView")
}

//...

謝謝 :)

當我遇到這個問題時,我的解決方案是創建一個ParentViewController,其他視圖控制器則繼承自他。 在父視圖控制器中,我為包含iAdView的視圖創建一個出口,在每個視圖控制器的.xib文件中,我將iAdView容器視圖鏈接到創建的出口。 之后,我創建一個具有所有iAdView功能和一個名為iAdView的屬性的單例。 在父級的viewDidAppear中,我向單例請求iAdView,並將其添加為iAd視圖容器的子視圖。 這樣,您將不會在視圖控制器中看到iAdView的任何代碼,因為所有代碼都將位於ParentViewController和單例中(我們稱其為iAdManager)。 希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM