Ida*_*dan 1 iphone cocoa-touch leaderboard game-center
当我浏览苹果文档时,我看不到打开Game Center的方法,其中第一个屏幕是用户可以选择排行榜的位置.
我知道我可以打开一个特定的排行榜屏幕,但我想打开让用户选择一个的屏幕.那可能吗 ?
这是我目前的代码:
GKLeaderboardViewController *viewController = [[GKLeaderboardViewController alloc] init];
viewController.leaderboardDelegate = self;
// Present leaderboard with the user's options saved from prevous launch
viewController.category = self.category;
viewController.timeScope = self.timeScope;
[parent presentModalViewController:viewController animated:YES];
Run Code Online (Sandbox Code Playgroud)
谢谢!!
这是一个无证的解决方法,但在我参与的多个游戏中获得批准:
GKLeaderboardViewController *viewController = [[GKLeaderboardViewController alloc] init];
viewController.leaderboardDelegate = self;
[viewController popViewControllerAnimated:NO];
[parent presentModalViewController:viewController animated:YES];
[viewController release];
Run Code Online (Sandbox Code Playgroud)
说明:
GKLeaderboardViewController 是.的子类 UINavigationController您可以跳过设置类别和时间范围,因为您不需要它们(您不会显示特定的"类别"视图控制器).即使您没有设置它,排行榜视图控制器也会将默认视图控制器推到最顶层.
我还发布了viewController变量(排行榜视图控制器),因为parent视图控制器将获取对象的所有权.因此,不释放它会造成内存泄漏,并可能产生其他意外后果.
iOS 6及更高版本拥有GKGameCenterViewController该类.弱连接到GameKit并测试这个类的存在NSClassFromString(@"GKGameCenterViewController") != nil.然后,像往常一样使用它.
实例化此类而不是GKLeaderboardViewController将其viewState属性设置为GKGameCenterViewControllerStateLeaderboards以立即显示排行榜.
| 归档时间: |
|
| 查看次数: |
1252 次 |
| 最近记录: |