在开始之前,我知道这个问题已经被问过很多次了,但是所有这些问题都是针对xcode5 / objective-C的,而不是迅速的。我只是应用程序开发的新手,所以我无法理解Objective-C并迅速使用它。

我的第一个视图控制器上有一个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")
}

//...


谢谢 :)

最佳答案

当我遇到这个问题时,我的解决方案是创建一个ParentViewController,其他视图控制器则继承自他。在父视图控制器中,我为包含iAdView的视图创建一个出口,在每个视图控制器的.xib文件中,我将iAdView容器视图链接到创建的出口。之后,我创建一个具有所有iAdView功能和一个属性(即iAdView)的单例。在父级的viewDidAppear中,我向单例请求iAdView,并将其添加为iAd视图容器的子视图。以这种方式在视图控制器中将不会看到iAdView的任何代码,因为所有代码都将位于ParentViewController和单例中(我们称其为iAdManager)。希望能帮助到你。

关于view - Xcode6/Swift-如何在多个 View Controller 中实现iAdBannerView?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26403830/

10-09 07:19