Как я могу отобразить все доступные таблицы лидеров Game Center, а не автоматически отображать таблицу лидеров по умолчанию?
Чтобы загрузить таблицу лидеров Game Center, я сейчас звоню:
-(void) showLeaderboard:(NSString*)leaderboardId
{
GKLeaderboardViewController *viewController = [GKLeaderboardViewController new];
viewController.leaderboardDelegate = self;
if (leaderboardId)
{
viewController.category = leaderboardId;
}
[[self topViewController] presentViewController:viewController animated:YES completion:nil];
}
Однако это всегда загружает список лидеров по умолчанию, а затем пользователь сильно нажимает кнопку "Назад", чтобы просмотреть все доступные списки лидеров.
Так как мой метод вызывается из главного меню моей игры, это не совсем подходит, чтобы перевести моего игрока в таблицу лидеров 1-го уровня.
Как я могу загрузить контроллер представления так, чтобы он уже просто отображал все доступные списки лидеров, а не заставлял моего игрока нажимать кнопку возврата...
Желаемый результат...
Что просходит...
1 ответ
Вместо GKLeaderboardViewController
, ты ищешь GKGameCenterViewController
,
GKGameCenterViewController *viewController = [GKGameCenterViewController new];
viewController.viewState = GKGameCenterViewControllerStateLeaderboards;
Вы можете загрузить либо GKGameCenterViewController
или же GKLeaderboardViewController
в зависимости от погоды leaderboardId
установлен или нет.
Если это не сработает, попробуйте этот обходной путь.