2016-05-06 14 views
1

iAdをポップオーバーに表示したいとします。共有インスタンスクラスを使用してdisplayAdメソッドを呼び出します。ここに私の共有インスタンスのクラスがある:iAdが利用可能かどうかを確認してください。

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) {} 
     } 
} 

私は (IADあるPopOverVCが含まれています)ポップオーバーを表示するdisplayAd機能を使用し、これはPopOverVCクラスです:

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) 
    } 

} 

は今、私がしたいことは、他のView ControllerからdisplayAdメソッドを呼び出してから、iAdが利用可能かどうかを確認してから表示することです。 今、私のコードはPopOverを表示し、iAdの利用可能性をチェックし、利用できない場合は終了します。 iAdが利用可能でない限り、私はPopOverを表示したくありません。

これを達成するにはどうすればよいですか?

おかげ

+1

iAdが廃止されました:https://developer.apple.com/news/?id=01152016a –

答えて

2

あなたは、単にask the ADBannerViewbannerLoadedプロパティを持つことができます。

バナービューバックグラウンドで自動的に新しい広告をダウンロードしてください。このプロパティは、広告が読み込まれるとtrueを返します。そうでなければfalse。ダニエルは先に指摘したよう

しかし、you have six weeksはあなたのiAdコードの交換を出荷するので、私は非常に強くあなたはその代わりに仕事をお勧めします!

関連する問題