【问题标题】:How Can I Display All Available Game Center Leaderboards, Rather Than Automatically Showing The Default Leaderboard?如何显示所有可用的 Game Center 排行榜,而不是自动显示默认排行榜?
【发布时间】:2014-07-14 03:31:55
【问题描述】:

要加载 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 级的排行榜。

如何加载视图控制器以显示所有可用的排行榜,而不是让我的玩家点击返回按钮...

期望的结果...

会发生什么...

【问题讨论】:

  • 您正确设置了GKLeaderboardViewController category 属性。你确定leaderboardId 有值吗?
  • 是的,如果我想加载特定的排行榜,我会将 leaderboardID 传递给它...但是,我只想加载显示所有级别的概览屏幕...所以我正在尝试传递它@“”所以它最终只是加载了默认排行榜,在我的 iTunes 连接中是 Level1 的排行榜......所以,我应该通过它来查看所有排行榜的概述,如第一张图片所示。谢谢

标签: ios game-center gamekit leaderboard


【解决方案1】:

您寻找的是GKGameCenterViewController,而不是GKLeaderboardViewController

GKGameCenterViewController *viewController = [GKGameCenterViewController new];
viewController.viewState = GKGameCenterViewControllerStateLeaderboards;

您可能想要加载GKGameCenterViewControllerGKLeaderboardViewController,具体取决于天气leaderboardId 是否设置。

如果这不起作用,您应该尝试this workaround

【讨论】:

  • 这段代码非常适合我,因为我可以在任何地方使用相同的代码,如果我想指定排行榜,我只需传递一个!好东西!再次感谢
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-06
  • 2011-05-30
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多