我想在popover中显示iAd。我使用共享实例类来调用df.subset <- df[, names.use]
方法。这是我的共享实例类:
displayAd
我使用 class Share : NSObject ,UIPopoverPresentationControllerDelegate {
static let sharedInstance = Share()
func displayAd(sender:UIViewController) {
let storyboard = UIStoryboard(name: "Main", bundle: nil)
let vc = storyboard.instantiateViewControllerWithIdentifier("PopOverVC") as UIViewController
vc.preferredContentSize = CGSize(width: 310, height: 250)
let navC = UINavigationController(rootViewController: vc)
navC.modalPresentationStyle = UIModalPresentationStyle.Popover
let popOver = navC.popoverPresentationController
popOver?.delegate = self
popOver?.sourceView = sender.view
popOver?.sourceRect = CGRectMake(CGRectGetMidX(sender.view.bounds), CGRectGetMidY(sender.view.bounds),0,0)
popOver?.permittedArrowDirections = UIPopoverArrowDirection(rawValue:0)
navC.navigationBarHidden = true
sender.presentViewController(navC, animated: true) {}
}
}
函数显示一个popover(包含PopOverVC,它是一个iAd)
然后这是displayAd
类:
PopOverVC
现在,我想要做的是从其他View Controller调用class PopOverVC: UIViewController,ADBannerViewDelegate {
var ad = ADBannerView()
@IBOutlet var Banner: ADBannerView!
@IBAction func CloseBtn(sender: UIButton) {
self.dismissViewControllerAnimated(true, completion: nil)
}
override func viewDidLoad() {
Banner = ad
}
func bannerViewDidLoadAd(banner: ADBannerView!) {
sharedAd.hidden = false
}
func bannerView(banner: ADBannerView!, didFailToReceiveAdWithError error: NSError!) {
sharedAd.hidden = true
self.dismissViewControllerAnimated(true, completion: nil)
}
}
方法,然后检查iAd是否可用然后显示它。
现在我的代码显示了PopOver,然后检查iAd的可用性,如果不可用,它会关闭。
除非iAd可用,否则我不想显示PopOver。
无论如何要实现这个目标吗?
感谢
答案 0 :(得分:2)
您可以ask the ADBannerView使用bannerLoaded
属性:
横幅视图会自动在后台下载新广告。如果加载广告,则此属性返回true;否则就是假的。
但是,正如丹尼尔在上面指出的那样,you have six weeks要发布您的iAd代码的替代品,所以我非常强烈建议你改为使用它!