0

我有一个显示 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 视图控制器(上面代码中的gameCenterController)被关闭时,用于显示iAd 横幅的呈现视图控制器不再显示任何iAd。

4

1 回答 1

0

我找到了答案。如果我canDisplayBannerAds在对模型视图控制器(Leaderboard view-controller)进行 segue 之前设置正确,并且当我关闭模型视图控制器时,将其设置回 YES,一切正常,当我回到主视图控制器。

因此,在进行 segue 之前,请执行以下操作:

self.canDisplayBannerAds = YES;

然后,在您关闭模型视图控制器后立即在您的主视图控制器中启用 iAd:

- (void) gameCenterViewControllerDidFinish:(GKGameCenterViewController*) gameCenterViewController {
[self dismissViewControllerAnimated:YES completion:nil];
self.canDisplayBannerAds = YES;
}
于 2014-07-06T01:27:57.833 回答