我在 Storyboard 中创建了一个 iAd 横幅,并添加了以下四个约束:(高度:50,宽度:320,容器中的水平居中,距离 View 顶部 10)。有时,当我运行该应用程序时,iAd 横幅就位于我放置它的位置,其他时候它只是随机出现在屏幕底部。我的应用程序仅限于景观,只有当它与它有关时。我做错了什么?
import UIKit
import AVFoundation
import iAd
class ViewController: UIViewController, ADBannerViewDelegate {
@IBOutlet weak var adBanner: ADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
// Set ad banner settings
self.canDisplayBannerAds = true
self.adBanner?.delegate = self
self.adBanner?.hidden = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func bannerViewWillLoadAd(banner: ADBannerView!) {
self.adBanner?.hidden = true
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
self.adBanner?.hidden = false
}
func bannerViewActionDidFinish(banner: ADBannerView!) {
}
func bannerViewActionShouldBegin(banner: ADBannerView!, willLeaveApplication willLeave: Bool) -> Bool {
return true
}
func bannerView(banner: ADBannerView!, didFailToRecieveAdWithError error: NSError!) {
self.adBanner?.hidden = true
}
}
最佳答案
self.canDisplayBannerAds = true
正在创建出现在屏幕底部的横幅。 self.canDisplayBannerAds = true
可用于轻松在您的应用程序中实现 iAd 横幅的方式。这将为您创建一个 ADBannerView
,并根据它是否从 iAd 网络接收到广告来显示或隐藏 ADBannerView
。您需要从 viewDidLoad()
中删除 self.canDisplayBannerAds = true
。当您在 Storyboard 中创建 ADBannerView
时,这不是必需的。
关于ios - iAd 的位置在运行时有时会不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29167324/