Ich möchte iAd in einem Popover anzeigen. Ich verwende eine gemeinsam genutzte Instanzklasse, um die Methode displayAd
aufzurufen. hier ist meine gemeinsame Instanzklasse:Überprüfen Sie, ob iAd verfügbar ist
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) {}
}
}
Ich verwende die displayAd
Funktion eine popover anzuzeigen (die PopOverVC enthält, die eine iAd) und dann ist dies die PopOverVC
Klasse:
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)
}
}
Jetzt, was ich tun möchte, ist displayAd
Methode von einem anderen View Controller aufrufen und dann prüfen, ob iAd verfügbar ist und dann zeigen. Im Moment zeigt mein Code den PopOver und dann die Verfügbarkeit von iAd und wenn nicht, schließt es. Ich möchte PopOver nur anzeigen, wenn das iAd verfügbar ist.
Gibt es das überhaupt, um das zu erreichen?
dank
iAd wird eingestellt: https://developer.apple.com/news/?id=01152016a –