我有一个显示iAd横幅的ViewController。我这样做只需要包含以下行:
self.canDisplayBannerAds = YES;
然后我以模态方式呈现排行榜视图控制器,并在排行榜上启用iAd:
- (void) presentLeaderboards {
GKGameCenterViewController* gameCenterController = [[GKGameCenterViewController alloc] init];
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
gameCenterController.gameCenterDelegate = self;
gameCenterController.topViewController.canDisplayBannerAds = YES;
[self presentViewController:gameCenterController animated:YES completion: nil];
}
iAd也出现在Leaderboard视图控制器上。问题是,当Leaderboard视图控制器(上面代码中的gameCenterController)被解除时,我用于显示iAd横幅的呈现视图控制器不再显示任何iAd。
答案 0 :(得分:0)
我找到了答案。如果我在对模型视图控制器(排行榜视图控制器)执行segue之前设置canDisplayBannerAds
,并且当我关闭模型视图控制器时,将其设置为YES,一切正常,我开始获取iAds回到主视图控制器。
所以,在做segue之前的以下内容:
self.canDisplayBannerAds = YES;
然后,在关闭模型视图控制器后立即在主视图控制器中启用iAd:
- (void) gameCenterViewControllerDidFinish:(GKGameCenterViewController*) gameCenterViewController {
[self dismissViewControllerAnimated:YES completion:nil];
self.canDisplayBannerAds = YES;
}