1

私はこれを持っていますwebViewDidFinishLoad

- (void)setupAdBanner {
    adView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    CGRect adFrame = adView.frame;
    if([UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortrait
       || [UIApplication sharedApplication].statusBarOrientation == UIInterfaceOrientationPortraitUpsideDown) {
        adView.currentContentSizeIdentifier =
        ADBannerContentSizeIdentifierPortrait;
        adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
    } else {
        adView.currentContentSizeIdentifier =
        ADBannerContentSizeIdentifierLandscape;
        adFrame.size.width = adView.frame.size.width;
        adFrame.origin.y = self.view.frame.size.height-adView.frame.size.height;
    }
    adView.frame = adFrame;

    [self.view addSubview:adView];
}

これは私の phonegap アプリケーションの HTML コンテンツと重なっています。広告バナーを考慮して Web ビューのフレーム サイズを調整するにはどうすればよいですか?

4

1 に答える 1

1

私はこの正確な問題を抱えていました。ここで私のソリューションについてブログを書きましたhttp://hawkinbj.wordpress.com/2013/04/16/implement-iad-banner-ads-without-covering-uiwebview-in-phonegap/

ADBannerViewDelegateProtocolReference を実装する必要があります。MainViewController.h で:

@interface MainViewController : CDVViewController <ADBannerViewDelegate> 
{
    ADBannerView *adView;
}
@end

残りの手順は MainViewController.m にあります。

webViewDidFinishLoad では:

adView.delegate = self;

次の 2 つのメソッドを追加します。

- (void)bannerViewDidLoadAd:(ADBannerView *)banner 
{
    CGRect resizedWebView = [super webView].frame;
    resizedWebView.size.height = adView.frame.origin.y;
    [super webView].frame = resizedWebView;
    [self.view bringSubviewToFront:adView];
    adView.hidden = NO;
} 

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    CGRect resizedWebView = [super webView].frame;
    resizedWebView.size.height = self.view.frame.size.height;
    [super webView].frame = resizedWebView;
    adView.hidden = YES;
}

魔法は [self.view bringSubviewToFront:adView];

于 2013-04-17T12:13:57.333 に答える