【问题标题】:GKLeaderboardViewController has no 'Done' button and oriented incorrectly, but GKAchievementViewController shows fineGKLeaderboardViewController 没有“完成”按钮并且方向不正确,但 GKAchievementViewController 显示正常
【发布时间】:2014-04-08 15:03:45
【问题描述】:

当使用 GKAchievementViewController 显示成就对话框时,这将按预期工作。

但是,当使用 GKLeaderboardViewController 显示排行榜对话框时,我只是一个灰屏并且没有完成按钮。此外,它在 iPhone 上的方向似乎是错误的。

代码如下:

this.leaderboardController.TimeScope = GKLeaderboardTimeScope.AllTime; this.leaderboardController.Category = "myLeaderboardId"; this.leaderboardController.ModalPresentationStyle = UIModalPresentationStyle.FormSheet; this.leaderboardController.DidFinish += (senderLeaderboard, eLeaderboard) => { this.leaderboardController.DismissViewController(true, null); }; viewController.PresentViewController(this.leaderboardController, false, null);

我正在使用与 Game Center 中显示成就对话框相同的视图控制器。

我无法关闭排行榜对话框,因为它甚至没有“完成”按钮。

【问题讨论】:

  • 你试过删除UIModalPresentationStyle.FormSheet吗?这些 GameKit 控制器应该处理他们想要的演示风格。
  • 是的,这是我最初尝试过的(即没有设置 ModalPresentationStyle)。
  • 好的!我之前的评论不准确,实际上我一定没有尝试过 - 我只是完全删除了 UIModalPresentationStyle.FormSheet 设置,现在它的方向正确!但是 - 仍然没有“完成”按钮:s 所以我不能关闭这个视图。
  • 我的另一个观察结果是,如果我将 animate 属性设置为“true”,那么我根本看不到任何数据。我需要将 animate 属性(在 PresentViewController 中)设置为 false 才能查看我的排行榜数据。但是标题栏仍然有问题,因为没有完成按钮,也没有像呈现 GKAchievementViewController 时那样的标题(效果很好)。

标签: ios xamarin game-center leaderboard achievements


【解决方案1】:

好的,问题是我在类的构造函数中初始化视图控制器。这还为时过早,而是我懒惰地初始化(仅在需要时初始化)。这解决了上述所有问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-12-17
    • 2014-04-08
    • 2021-12-30
    • 1970-01-01
    • 2020-11-16
    • 1970-01-01
    • 2015-08-02
    相关资源
    最近更新 更多