0

アプリに iAd バナーを追加しますが、バナーが空 (白) の場合、バナーが非表示にならないため、次の 2 つのタイプのコードを試します。

私の〜の上に.h

    #import <iAd/iAd.h>

    @interface HomeViewController : UIViewController <ADBannerViewDelegate> {

        ADBannerView *homeBanner;
    }

    //----------------------------------iAd BANNER-------------------------//
    @property (nonatomic, assign) BOOL bannerIsVisible;
    @property (nonatomic, strong) IBOutlet ADBannerView *homeBanner;
    @end

クラスで.m

@synthesize homeBanner, bannerIsVisible;

//------------iAd Banner---------------------------------------//
- (void)bannerViewDidload:(ADBannerView *)abanner {

    if (!self.bannerIsVisible){

        [UIView beginAnimations:@"animationAdBannerOn" context:NULL];
        homeBanner.frame = CGRectOffset(homeBanner.frame, 0.0, 50.0);
        [UIView commitAnimations];
        self.bannerIsVisible = YES;
    } 
}
- (void)bannerView:(ADBannerView *)aBanner {

    if (!self.bannerIsVisible){

        [UIView beginAnimations:@"animationAdBannerOff" context:NULL];
        homeBanner.frame = CGRectOffset(homeBanner.frame, 0.0, -320.0);
        [UIView commitAnimations];
        self.bannerIsVisible = NO;
    }
}

バナーが白の場合、このコードで表示を続行します。

2 番目のコードを試してください:

私の〜の上に.h

    #import <iAd/iAd.h>

    @interface HomeViewController : UIViewController <ADBannerViewDelegate> {

        ADBannerView *homeBanner;
    }

    //----------------------------------iAd BANNER-------------------------//
    @property (nonatomic, strong) IBOutlet ADBannerView *homeBanner;
    @end

そして.m

- (void)viewDidLoad {

    [super viewDidLoad];
    [homeBanner setHidden:YES];
}

- (void)bannerViewDidload:(ADBannerView *)banner {

        [homeBanner setHidden:NO];
        NSLog(@"Showing");

}

- (void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error {

    [homeBanner setHidden:YES];
    NSLog(@"Hidden");
}

そして最後に同じ問題があります。

何か案が?

ありがとう。

4

1 に答える 1

0

bannerView のデリゲートを設定しましたか?

これを試してみてください viewDidLoad -

[homeBanner setDelegate:self];
于 2014-05-08T14:21:32.320 に答える