2

画面の下部に iAd を表示したい.. subView を追加しようとしましたが、iAd がセルに表示され、彼はそれを非表示にします。

iAdの下でtableViewをスクロールするにはどうすればよいですか?

私のコード:

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self createAdBannerView];
    [self.view addSubview:self.adBannerView];

}

#pragma mark - ADBannerViewDelegate

- (void)bannerViewDidLoadAd:(ADBannerView *)banner
{
    [self adjustBannerView];
}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error
{
    [self adjustBannerView];
}

- (BOOL)bannerViewActionShouldBegin:(ADBannerView *)banner willLeaveApplication:(BOOL)willLeave
{
    return YES;
}

- (void)bannerViewActionDidFinish:(ADBannerView *)banner
{
}

- (void) adjustBannerView
{
    CGRect contentViewFrame = self.view.bounds;
    CGRect adBannerFrame = self.adBannerView.frame;

    if([self.adBannerView isBannerLoaded])
    {
        CGSize bannerSize = [ADBannerView sizeFromBannerContentSizeIdentifier:self.adBannerView.currentContentSizeIdentifier];
        contentViewFrame.size.height = contentViewFrame.size.height - bannerSize.height;
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    else
    {
        adBannerFrame.origin.y = contentViewFrame.size.height;
    }
    [UIView animateWithDuration:0.5 animations:^{
        self.adBannerView.frame = adBannerFrame;
        self.contentView.frame = contentViewFrame;
    }];
}

- (void) createAdBannerView
{
    self.adBannerView = [[ADBannerView alloc] initWithFrame:CGRectZero];
    CGRect bannerFrame = self.adBannerView.frame;
    bannerFrame.origin.y = self.view.frame.size.height;
    self.adBannerView.frame = bannerFrame;

    self.adBannerView.delegate = self;
    self.adBannerView.requiredContentSizeIdentifiers = [NSSet setWithObjects:ADBannerContentSizeIdentifierPortrait, ADBannerContentSizeIdentifierLandscape, nil];
}

編集:

これを防ぐにはどうすればよいですか?iAd をボタンに留めておきたい..

ここに画像の説明を入力

前もって感謝します!

4

2 に答える 2

1

自動レイアウトを使用している場合、私が以前に行ったことは、スーパービューへの下部スペースの制約にアウトレットを追加することです (ビュー内にテーブルビューがあると仮定します)。

次に、たとえば次のようにして、広告が読み込まれたときにコールバックで制約を調整するだけです。

tableViewBottomSpaceConstraintOutlet.constant -= adBannerView.frame.size.height;

tableViewBottomSpaceConstraintOutletスーパービュー制約への下部スペースのアウトレットはどこでadBannerView、広告バナーのビューです。

于 2013-05-17T10:35:27.343 に答える