używam Apple's code pokazać GKGameCenterViewController
:GKGameCenterViewController zawsze pokazuje Wyzwania zamiast Liderów
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
To jest tekst opisujący powyższy kod:
Gra Centrum UI jest wyświetlany przez Wyświetl kontroler (iOS)
Konwencja używana przez Game Kit jest przeznaczona dla jednego z kontrolerów widoku do przedstawienia Kontroler widoku zestawu gier. Twój kontroler widoku działa jako delegat do kontrolera widoku, który prezentuje, dzięki czemu można go poinformować, gdy gracz zakończy przeglądanie prezentowanego ekranu. Listing 2-1 pokazuje najczęstsze użycie tego wzorca, który ma pokazywać interfejs użytkownika Game Center. Kontroler widoku Game Center wyświetla wiele różnych elementów Game Center, więc większość gier powinna oferować przycisk, który przenosi gracza na ten ekran, nawet jeśli gra wyświetla zawartość Game Center za pomocą niestandardowego interfejsu użytkownika.
Kiedy używać zalecanego kod mam do tego ekranu (Challenges GameCenter), co nie jest to, co chcę:
Próbowałem również ten kod:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"gamecenter:"]];
Korzystając z tego kodu, wyświetlam ekran, który oczekiwałam wyświetlić:
Czy źle zrozumiałem coś lub czy robię coś nie tak? Czy pierwszy fragment kodu nie powinien doprowadzić mnie do głównego menu? Dlaczego nie wyświetla tablic wyników?
UPDATE
I wdrożone viewState
jak sugeruje phix23:
GKGameCenterViewController *gameCenterController = [[GKGameCenterViewController alloc] init];
if (gameCenterController != nil) {
gameCenterController.gameCenterDelegate = self;
gameCenterController.viewState = GKGameCenterViewControllerStateLeaderboards;
[self presentViewController:gameCenterController animated:YES completion:nil];
}
Ale to nadal wyświetla ekran samymi wyzwaniami, pomimo faktu, że chcę/spróbować, aby wyświetlić ekran liderów.
Czy kiedykolwiek to rozgryzłeś? Mój 'GKGameCenterViewController' wydaje się zignorować również wartość' viewState'; zawsze otwiera się na tę samą zakładkę Game Center, niezależnie od tego, do czego ją ustawiam. – Michael
Powodzenia na tym. Mój zawsze pokazuje tablicę liderów, gdzie mówię, żeby pokazać mi Achivements. – Alix