2014-08-29 89 views
2

我可以加載排行榜沒有問題。但是當點擊「完成」按鈕時,我無法關閉它。無法關閉遊戲中心排行榜頁

如何我打開它:

- (IBAction)leaderboardsClicked:(id)sender{ 
    if ([GKLocalPlayer localPlayer].isAuthenticated) { 
     GKGameCenterViewController *leaderboardController = [[GKGameCenterViewController alloc] init]; 
     [self presentViewController:leaderboardController animated:YES completion:NULL]; 
    }else{ 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Error" 
      message: @"You must be logged into Game Center to view the leaderboards. Open Game Center?" 
      delegate: self 
      cancelButtonTitle:@"No" 
      otherButtonTitles:@"Yes",nil]; 
     [alert show]; 
    } 
} 

如何我關閉它:

- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController{ 
    NSLog(@"test"); 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 

編輯:

的方法根本沒有運行;所以「測試」甚至沒有打印。

我加入<GKGameCenterControllerDelegate>我的ViewController的協議。

回答

2

試試這個:

- (IBAction)leaderboardsClicked:(id)sender{ 
    if ([GKLocalPlayer localPlayer].isAuthenticated) { 
     GKGameCenterViewController *leaderboardController = [[GKGameCenterViewController alloc] init]; 
     leaderboardController.gameCenterDelegate = self; 
     gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards; 

     [self presentViewController:leaderboardController animated:YES completion:NULL]; 
    }else{ 
     UIAlertView *alert = [[UIAlertView alloc]initWithTitle: @"Error" 
      message: @"You must be logged into Game Center to view the leaderboards. Open Game Center?" 
      delegate: self 
      cancelButtonTitle:@"No" 
      otherButtonTitles:@"Yes",nil]; 
     [alert show]; 
    } 
} 

和:

- (void) gameCenterViewControllerDidFinish:(GKGameCenterViewController*) gameCenterViewController { 
    [self dismissViewControllerAnimated:YES completion:nil]; 
} 
+0

這並不工作,因爲gameCenterViewControllerDidFinish方法甚至沒有運行。 (我編輯了我的原始帖子提到這一點)。 – Andrew 2014-08-30 03:43:39

+0

工作很好!謝謝! – Andrew 2014-08-30 03:56:52

+0

很高興幫助!不用謝! – WMios 2014-08-30 03:57:09