我在游戏中心设置了我的排行榜。
当用户点击高分按钮时,我该如何做到这一点,它会将他们带到游戏中心的特定排行榜?
有没有办法在不使用UIWebView中的特定链接的情况下做到这一点?
我希望游戏中心在应用程序之外打开。我的应用程序是为iOS7及更高版本量身定制的。
我在游戏中心设置了我的排行榜。
当用户点击高分按钮时,我该如何做到这一点,它会将他们带到游戏中心的特定排行榜?
有没有办法在不使用UIWebView中的特定链接的情况下做到这一点?
我希望游戏中心在应用程序之外打开。我的应用程序是为iOS7及更高版本量身定制的。
很久以前,在 下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:^{
}];
}