Кнопка «Готово» в игровом центре не работает

Я показываю таблицу лидеров Game Center, но после того, как она появляется, я не могу ее закрыть — кнопка «Готово» не работает.

Вот мой код для 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];
}

Что еще странно, так это то, что я никогда не вижу в логе "Закрыть таблицу лидеров".


person user1188620    schedule 03.02.2012    source источник


Ответы (1)


Вы добавили GKLeaderboardViewControllerDelegate в список протоколов, которые реализует этот класс? (leaderboardViewControllerDidFinish — единственный метод в этом протоколе). Ваш код выглядит идеально, так что это единственное, о чем я могу думать.

person user1139733    schedule 04.02.2012
comment
да, я добавляю его в RootViewController.h. Но есть еще одна маленькая вещь, [leaderboardVC setDelegate: self] имеет проблему, в которой говорится, что класс не имеет UINavigationControlerDelegate. - person user1188620; 04.02.2012