我使用Apple's code表现出GKGameCenterViewController
:GKGameCenterViewController始终显示的挑战,而不是排行榜
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
这是描述上面代码中的文本:
游戏中心的用户界面被显示在您的视图控制器(iOS)
Game Kit使用的惯例是为您的视图控制器之一提供游戏套件视图控制器。您的视图控制器充当其呈现的视图控制器的代理,以便当玩家完成查看所呈现的屏幕时可以通知它。清单2-1显示了这种模式的最常见用法,它显示了Game Center用户界面。游戏中心视图控制器显示许多不同的Game Center内容,所以大多数游戏应该提供一个按钮,让玩家进入该屏幕,即使游戏也使用自定义用户界面显示Game Center内容。
当我使用推荐的代码,我得到这个屏幕(GameCenter的挑战),这是不是我想要的:
我自己也尝试这样的代码:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];
通过使用该代码,我进入了我期望显示的屏幕:
我误解了某些东西还是我做错了什么?第一段代码不应该把我带到主菜单吗?为什么它不显示排行榜?
UPDATE
我实现viewState
的建议通过phix23:
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
但是,它仍然显示了同样的挑战屏幕,尽管我希望/尝试显示排行榜屏幕的事实。
你有没有想过这个?我的'GKGameCenterViewController'似乎也忽略了'viewState'的值;总是打开到相同的游戏中心选项卡,无论我设置为什么。 – Michael 2014-04-28 03:38:50
在这一个上任何运气。我总是显示领导委员会,我告诉它向我展示成就。 – Alix 2015-09-01 19:15:08