【发布时间】:2015-03-06 17:48:04
【问题描述】:
我希望在我的应用中实施 iAd。到目前为止,我已经设法使用下面的方法让它们在每个视图中正确显示/消失。
应用代理:
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 传递到另一个?
任何帮助将不胜感激。 谢谢!
【问题讨论】:
-
您可能对this 示例感兴趣。在这里,我将 iAD 设为全局,根本不涉及 AppDelegate。
标签: ios swift xcode6 iad appdelegate