2014-10-16 48 views
0

在我開始之前,我已經意識到這個問題之前已經被問過很多次,但是他們都提到了xcode5/objective-C,而不是很快。我只是應用程序開發的新手,所以我一直無法理解Objective-C並迅速使用它。Xcode6/Swift - 如何在多個視圖控制器中實現iAdBannerView?

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

我對adBannerView我現在有(從here)代碼

//... 
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") 
} 

//... 

謝謝:)

回答

1

當我面臨這個問題我的解決方案是創建一個ParentViewController,其他視圖控制器inheritate從他身上。在父視圖控制器中,我爲包含iAdView的視圖創建出口,並在每個視圖控制器的.xib文件中將iAdView容器視圖鏈接到創建的出口。之後,我創建了一個具有所有iAdView功能和iAdView屬性的單例。在父級的viewDidAppear中,我請求iAdView的單例,並將其添加爲iAd視圖容器的子視圖。在視圖控制器中這樣做,你不會看到iAdView的任何代碼,因爲所有的代碼都在ParentViewController和單例中(讓我們稱之爲iAdManager)。希望能幫助到你。

相關問題