重複の可能性:
XCode 4 とストーリーボードを使用して、TabBar アプリケーションで iAd の共有デリゲートを作成する
私はストーリーボード アプリを作成しています。ストーリーボードにタブ バー コントローラーを配置し、4 つのタブを追加しました。すべてタブバーコントローラーにリンクされています。これはストーリーボードです:ストーリーボード
まず、ストーリーボードの 4 つのビューのそれぞれの下部に iAd を配置し、これらのコードに接続します。
FistTableViewController、SecondTableViewController、FirstViewController、SecondViewController
.h:
#import <UIKit/UIKit.h>
#import <iAd/iAd.h>
@interface MasterViewController : UITableViewController{
NSMutableArray *menu;
ADBannerView *banner;
}
@property (nonatomic, assign) BOOL bannerIsVisible;
@property (nonatomic, retain) IBOutlet ADBannerView *banner;
.m:
@implementation MasterViewController
@synthesize banner, bannerIsVisible;
-(void)bannerViewDidLoadAd:(ADBannerView *)abanner {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOn" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, 50.0);
[UIView commitAnimations];
self.bannerIsVisible = YES;
}
}
-(void)bannerView:(ADBannerView *)abanner didFailToReceiveAdWithError:(NSError *)error {
if (!self.bannerIsVisible) {
[UIView beginAnimations:@"animatedAdBannerOff" context:NULL];
banner.frame = CGRectOffset(banner.frame, 0.0, -320.0);
[UIView commitAnimations];
self.bannerIsVisible = NO;
}
}
しかし、それらが同時に表示されないように、共有デリゲートが必要です。ドキュメントを読み、iAd スイートのサンプル コードを見ましたが、タブ バーがストーリーボードにあり、すべてのタブに個別のビューを使用しているため、プロジェクトとは大きく異なります。
では、アプリで常に 1 つのバナーをタブ バーの上に配置して、1 つのバナーを常に表示できるようにするにはどうすればよいでしょうか? タブ バーはストーリーボードのみにあり、サブクラス化されていません。
これはストーリーボードです:ストーリーボード