xcode4.5.2
「iAd.framework」を追加する
ViewController.h
#import <UIKit/UIKit.h> #import <iAd/iAd.h> @interface ViewController : UIViewController <ADBannerViewDelegate> { ADBannerView *adView; // 広告用の枠 BOOL bannerIsVisible; // 広告 表示・非表示用のフラグ } @end
ViewController.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // iAdの処理 adView = [[ADBannerView alloc] initWithFrame:CGRectZero]; //adView.frame = CGRectOffset(adView.frame, 0, 460); // 下に表示する時 adView.frame = CGRectOffset(adView.frame, 0, -50); // 上に表示する時 adView.requiredContentSizeIdentifiers = [NSSet setWithObject:ADBannerContentSizeIdentifierPortrait]; adView.currentContentSizeIdentifier = ADBannerContentSizeIdentifierPortrait; [self.view addSubview:adView]; adView.delegate = self; bannerIsVisible = NO; } // 広告が取得でき表示できる時 -(void)bannerViewDidLoadAd:(ADBannerView *)banner { NSLog(@"iAd OK"); if (!bannerIsVisible) { [UIView beginAnimations:@"animateAdBannerOn" context:NULL]; //banner.frame = CGRectOffset(banner.frame, 0, -50); // 下 banner.frame = CGRectOffset(banner.frame, 0, 50); // 上 [UIView commitAnimations]; bannerIsVisible = YES; } } // 広告が取得できない時は非表示にする -(void)bannerView:(ADBannerView *)banner didFailToReceiveAdWithError:(NSError *)error { NSLog(@"iAd NG"); if (bannerIsVisible) { [UIView beginAnimations:@"animatedAdBannerOff" context:NULL]; // banner.frame = CGRectOffset(banner.frame, 0, 50); // 下 banner.frame = CGRectOffset(banner.frame, 0, -50); // 上 [UIView commitAnimations]; bannerIsVisible = NO; } }
上に表示した時
下に表示した時
下にiAdを表示する時に、
上部にあるステータスバーは20pxあるので、460pxオフセットしていますが、ステータスバーを非表示にした時は480pxになる。
日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)