2012-02-03 116 views
0

我正在显示一个游戏中心排行榜,但在它出现后我无法关闭它 - “完成”按钮不起作用。游戏中心“完成”按钮不起作用

这里是我的RootViewController.m代码:

-(void) showLeaderboard { 
    GKLeaderboardViewController *leaderboardVC [GKLeaderboardViewController alloc] init] autorelease]; 
    if (leaderboardVC != nil) { 
     [leaderboardVC setDelegate: self]; 
     [leaderboardVC setCategory: kLeaderboardID]; 
     [leaderboardVC setTimeScope: GKLeaderboardTimeScopeWeek]; 
     [self presentModalViewControllerAnimated: YES]; 
    } 
} 

-(void)leaderboardViewControllerDidFinish:(GKLeaderboardViewController *)viewController 
{ 
    NSLog(@"Close leaderboard"); 
    [self dismissModalViewControllerAnimated: YES]; 
} 

什么也奇怪的是,我从来没有看到“关闭排行榜”在日志中。

回答

1

您是否将GKLeaderboardViewControllerDelegate添加到此类实现的协议列表中? (leaderboardViewControllerDidFinish是此协议中唯一的方法)。你的代码看起来很完美,所以这是我能想到的唯一的东西。

+0

是的,我将它添加到RootViewController.h。但是,它又是一件小事,[leaderboardVC setDelegate:self]有问题说它的类没有UINavigationControlerDelegate。使用GKHelper解决了 – user1188620 2012-02-04 10:32:16

+0

问题。 – user1188620 2012-02-04 16:45:00