2014-03-06 6 views
0

GKAchievementViewController를 사용하여 업적 대화 상자를 표시하면 예상대로 작동합니다.GKLeaderboardViewController에는 '완료'버튼이없고 방향이 잘못 지정되어 있지만 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);

: 여기

는 코드입니다.

'완료'버튼이 없기 때문에 리더 보드 대화 상자를 닫을 수 없습니다.

+0

'UIModalPresentationStyle.FormSheet'을 제거해 보셨습니까? 이 GameKit 컨트롤러는 원하는 프리젠 테이션 스타일을 처리해야합니다. – jonathanpeppers

+0

예, 처음에 시도 했었습니다 (즉, ModalPresentationStyle을 설정하지 않았습니다). –

+0

오케이! 이전에 언급 한 내용이 정확하지 않습니다. 실제로 이것을 시도하지 않아야합니다. UIModalPresentationStyle.FormSheet 설정을 제거 했으므로 이제 방향이 올바르게 변경되었습니다. 그러나 여전히 '완료'버튼이 없습니다. 따라서이보기를 닫을 수 없습니다. –

답변

0

좋아, 문제는 내 클래스의 생성자에서보기 컨트롤러를 초기화하는 것이 었습니다. 이것은 너무 일찍, 대신 lazy-initialize (필요한 경우에만 초기화). 이것은 위에서 언급 한 모든 문제를 수정했습니다.