我正在寻求在我的应用程序中实现iAd。到目前为止,我已经成功地使用以下代码在每个视图中正确显示/关闭它们。
应用代理:
我的目标是在多个视图中显示相同的广告,用户可以在这些视图之间切换。然而,在实践中,当您从一个视图切换到另一个视图时,广告停止加载并且必须重新开始。有没有更简单的方法将此adBannerView从一个VC传递到另一个VC?任何帮助都将不胜感激。谢谢!
应用代理:
import UIKit
import iAd
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow?
var adBannerView = ADBannerView()
视图控制器 1:
import UIKit
import iAd
class HomeScreenViewController: UIViewController, UITableViewDelegate, UITableViewDataSource, ADBannerViewDelegate {
let appDelegate = UIApplication.sharedApplication().delegate as AppDelegate //Creates reference to the AppDelegate
override func viewDidLoad() {
super.viewDidLoad()
loadAds()
}
func loadAds(){
self.appDelegate.adBannerView.removeFromSuperview()
self.appDelegate.adBannerView.delegate = nil
self.appDelegate.adBannerView = ADBannerView(frame: CGRect.zeroRect)
self.appDelegate.adBannerView.center = CGPoint(x: view.bounds.size.width / 2, y: view.bounds.size.height - self.appDelegate.adBannerView.frame.size.height / 2)
self.appDelegate.adBannerView.delegate = self
self.appDelegate.adBannerView.hidden = true
view.addSubview(self.appDelegate.adBannerView)
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
println("bannerViewDidLoadAd")
self.appDelegate.adBannerView.hidden = false
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
println("bannerViewActionDidFinish")
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
println("didFailToReceiveAdWithError")
self.appDelegate.adBannerView.hidden = true
}
我的目标是在多个视图中显示相同的广告,用户可以在这些视图之间切换。然而,在实践中,当您从一个视图切换到另一个视图时,广告停止加载并且必须重新开始。有没有更简单的方法将此adBannerView从一个VC传递到另一个VC?任何帮助都将不胜感激。谢谢!