Ios7 如何获取canDisplayBannerAds生成viewDidLayoutSubview回调?

Ios7 如何获取canDisplayBannerAds生成viewDidLayoutSubview回调?,ios7,uiviewcontroller,iad,viewdidlayoutsubviews,Ios7,Uiviewcontroller,Iad,Viewdidlayoutsubviews,在我的代码中,当我在视图控制器上设置candisplaybanerads=YES时,我会在广告消失时(而不是广告出现时)回调到viewdilayoutsubviews。我猜这是因为当您将candisplaybanerads设置为YES时,苹果将视图控制器的原始self.view移动到self.originalContentView 我的问题是,什么是合理的解决方法?我解决这个问题的方法是在设置canDisplayBannerAds=YES之前用覆盖LayoutSubView的UIView替换se

在我的代码中,当我在视图控制器上设置
candisplaybanerads=YES
时,我会在广告消失时(而不是广告出现时)回调到
viewdilayoutsubviews
。我猜这是因为当您将
candisplaybanerads
设置为YES时,苹果将视图控制器的原始self.view移动到
self.originalContentView


我的问题是,什么是合理的解决方法?

我解决这个问题的方法是在设置canDisplayBannerAds=YES之前用覆盖LayoutSubView的UIView替换self.view

@protocol LayoutViewDelegate <NSObject>
- (void) layout;
@end

@interface LayoutView : UIView
@property (nonatomic, weak) id<LayoutViewDelegate> delegate;
@end
@implementation LayoutView
- (void) layoutSubviews {
    [super layoutSubviews];
    if (self.delegate) [self.delegate layout];
}
@end
在我看来,我确实:

- (void) viewDidAppear:(BOOL)animated {
    [super viewDidAppear:animated];
    if ([Utilities ios7OrLater]) {
        self.canDisplayBannerAds = YES;
    }
}
我添加了委托方法:

// This *always* gets called when the banner ad appears or disappears.
#pragma - LayoutViewDelegate method
- (void) layout {
   // do useful stuff here
}
#pragma -
// This *always* gets called when the banner ad appears or disappears.
#pragma - LayoutViewDelegate method
- (void) layout {
   // do useful stuff here
}
#pragma -