bannerViewDidLoadAd 未被调用
bannerViewDidLoadAd is not called
iAD 委托从不调用,尽管我在 viewWillAppear 中设置了它。
在 AppDelegate 中
var UIiAd: ADBannerView = ADBannerView()
在ViewController
var UIiAd: ADBannerView = ADBannerView()
func appdelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as! AppDelegate
}
override func viewWillAppear(animated: Bool) {
var SH = UIScreen.mainScreen().bounds.height
UIiAd.delegate = self
UIiAd = self.appdelegate().UIiAd
UIiAd.frame = CGRectMake(0, SH - 50, 0, 0)
self.view.addSubview(UIiAd)
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(10)
UIiAd.alpha = 0.5
println("hello")
UIView.commitAnimations()
}
搞笑的认为adBanner其实是展示测试广告。
UDP:我确实明白哪里出了问题。要显示 iAd,您只需设置 self.canDisplayBannerAds = true
,仅此而已。但是您无权访问已创建的 banned 代表。
您似乎将 UIiAd
实例化为应用程序委托的 属性, 和 将另一个 UIiAd
实例化为 属性 你的 viewController。
那么:
UIiAd.delegate = self // The viewController's instance gets the delegate assigned
UIiAd = self.appdelegate().UIiAd // The viewController's instance changes and becomes the same as the app delegate's instance
这不是我用来处理 iAd 的方式,但在您的情况下,更改两行代码的顺序可能就足够了:
UIiAd = self.appdelegate().UIiAd
UIiAd.delegate = self
希望对您有所帮助
iAD 委托从不调用,尽管我在 viewWillAppear 中设置了它。
在 AppDelegate 中
var UIiAd: ADBannerView = ADBannerView()
在ViewController
var UIiAd: ADBannerView = ADBannerView()
func appdelegate() -> AppDelegate {
return UIApplication.sharedApplication().delegate as! AppDelegate
}
override func viewWillAppear(animated: Bool) {
var SH = UIScreen.mainScreen().bounds.height
UIiAd.delegate = self
UIiAd = self.appdelegate().UIiAd
UIiAd.frame = CGRectMake(0, SH - 50, 0, 0)
self.view.addSubview(UIiAd)
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
UIView.beginAnimations(nil, context: nil)
UIView.setAnimationDuration(10)
UIiAd.alpha = 0.5
println("hello")
UIView.commitAnimations()
}
搞笑的认为adBanner其实是展示测试广告。
UDP:我确实明白哪里出了问题。要显示 iAd,您只需设置 self.canDisplayBannerAds = true
,仅此而已。但是您无权访问已创建的 banned 代表。
您似乎将 UIiAd
实例化为应用程序委托的 属性, 和 将另一个 UIiAd
实例化为 属性 你的 viewController。
那么:
UIiAd.delegate = self // The viewController's instance gets the delegate assigned
UIiAd = self.appdelegate().UIiAd // The viewController's instance changes and becomes the same as the app delegate's instance
这不是我用来处理 iAd 的方式,但在您的情况下,更改两行代码的顺序可能就足够了:
UIiAd = self.appdelegate().UIiAd
UIiAd.delegate = self
希望对您有所帮助