在开始之前,我知道这个问题已经被问过很多次了,但是所有这些问题都是针对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/