我有5个viewcontrollers在每个我必须显示iad,所以我必须在每个viewcontrollers中实现iad代码。如果我在appdelegate中创建一组公共代码,就意味着我可以在需要显示iad的任何地方调用该代码。
如果有人实施了这个iad概念,那就意味着帮助我摆脱这个问题。提前谢谢。
最佳答案
只需创建一个指向iad in-app委托的指针。
.h:。
@property (strong, nonatomic) ADBannerView *UIiAD;
.M:。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
UIiAD = [[ADBannerView alloc] init];
return YES;
}
然后在视图控制器中执行以下操作:
.h:。
@property (strong, nonatomic) ADBannerView *UIiAD;
.M:。
- (AppDelegate *) appdelegate {
return (AppDelegate *)[[UIApplication sharedApplication] delegate];
}
- (void) viewWillAppear:(BOOL)animated {
UIiAD = [[self appdelegate] UIiAD];
UIiAD.delegate=self;
// CODE to correct the layout
}
- (void) viewWillDisappear:(BOOL)animated{
UIiAD.delegate=nil;
UIiAD=nil;
[UIiAD removeFromSuperview];
}
对所有视图控制器执行此操作,并使用适当的代码重新设计布局!