我有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];
}

对所有视图控制器执行此操作,并使用适当的代码重新设计布局!

08-04 18:51