0

我在游戏中心设置了我的排行榜。

当用户点击高分按钮时,我该如何做到这一点,它会将他们带到游戏中心的特定排行榜?

有没有办法在不使用UIWebView中的特定链接的情况下做到这一点?

我希望游戏中心在应用程序之外打开。我的应用程序是为iOS7及更高版本量身定制的。

4

1 回答 1

1

很久以前,在 下iOS7,你无法控制里面发生的事情GKGameCenterViewController,只有这 3 个选项:

typedef NS_ENUM(NSInteger, GKGameCenterViewControllerState) {
    GKGameCenterViewControllerStateDefault = -1,
    GKGameCenterViewControllerStateLeaderboards,
    GKGameCenterViewControllerStateAchievements,
    GKGameCenterViewControllerStateChallenges,
};

你可以设置这个属性:

@property (nonatomic, assign)   GKGameCenterViewControllerState viewState;

像这样(一个例子):

- (void)presentLeaderboardsOnViewController:(UIViewController *)viewController {
    GKGameCenterViewController *leaderboardViewController = [[GKGameCenterViewController alloc] init];
    leaderboardViewController.viewState = GKGameCenterViewControllerStateLeaderboards;
    leaderboardViewController.gameCenterDelegate = self;
    [viewController presentViewController:leaderboardViewController animated:YES completion:nil];
}

iOS7及以上你有这个属性(永远不要尝试):

@property (nonatomic, retain)   NSString *leaderboardIdentifier __OSX_AVAILABLE_STARTING( __MAC_NA, __IPHONE_7_0); // Showing specified leaderboard

所以只需设置这个属性,然后你就可以GKGameCenterViewController用你想要的排行榜打开了 :)

祝你好运!

编辑:

要关闭 Game Center 屏幕,请在您GKGameCenterControllerDelegate添加此方法:

- (void)gameCenterViewControllerDidFinish:(GKGameCenterViewController *)gameCenterViewController {
    [gameCenterViewController dismissViewControllerAnimated:YES completion:^{

    }];
}
于 2014-09-17T12:01:21.287 回答