iAdのバナーをどんなときでもクリックできるようにする


Storyboardでペコっと貼り付けるだけですぐにバナー広告が使えるiAd、便利ですよね。
けど、たとえばローディング中とかで全画面を覆うようなUIViewをかぶせるとタッチできなくなってしまいます。

アプリ提供側としては、出来ればクリックできる機会は減らしたくないもの。

そんなときは、iAdをaddSubViewし直せばまたトッププライオリティになり、タッチできるようになります。

// @property (retain, nonatomic) IBOutlet ADBannerView *adBanner;

- (void)adjustAdBanner
{
    [adBanner removeFromSuperview];
    [self.navigationController.view addSubview:adBanner];
    adBanner.frame = CGRectMake(0,
                                20+44+self.view.frame.size.height - adBanner.frame.size.height,
                                self.view.frame.size.width,
                                adBanner.frame.size.height);
}

こんな感じ。

ちなみに、iAdをタッチして広告に行くとき、そして戻るときは、viewWillDisappear:、viewDidDisappear:、viewWillAppear:、viewDidAppear:のdelegateが呼ばれるので、そのあたりに初期化コードを仕込むならローディング中かどうか見た上で処理すると良いです。

Leave a Comment