2013-11-02 5 views
5

Ich habe eine App, die GameCenter auf sehr einfache Weise verwendet (nur eine einfache Bestenliste mit einem Allzeit-Highscore). Manchmal, wenn ich meine app wechseln werde ich die Meldung sagen, finden Sie unter „Game Center willkommen zurück“, aber manchmal diese Meldung wie im folgenden Bild gestaucht erscheint:GameCenter-Benachrichtigungsbanner erscheint manchmal "zerquetscht" - was könnte das verursachen?

http://i.imgur.com/KOCFIJo.jpg

Weiß jemand, was das verursacht könnte dies ? Weil ich absolut keine Ahnung habe.

Mein Authentifizierungscode, der das Benachrichtigungsbanner generiert, ist ziemlich Standard.

GKLocalPlayer *localPlayer = [GKLocalPlayer localPlayer]; 

    [GKLocalPlayer localPlayer].authenticateHandler = ^(UIViewController *viewController, NSError *error) { 
     // If there is an error, do not assume local player is not authenticated. 
     if (localPlayer.isAuthenticated) { 

      // Enable Game Center Functionality 
      self.gameCenterAuthenticationComplete = YES; 
      [self enableGameCenter:YES]; 
      gameCenterButton.enabled=true; 

     } else { 
      NSLog(@"game center not logged in"); 
      // User has logged out of Game Center or can not login to Game Center, your app should run 
      // without GameCenter support or user interface. 
      self.gameCenterAuthenticationComplete = NO; 
      [self enableGameCenter:NO]; 
      [self presentViewController:viewController animated:true completion:nil ]; 
      gameCenterButton.enabled=false; 

     } 
    }; 

Eine weitere Information ist, dass meine App im Hochformat ist, wenn dieses Problem auftritt. Es sieht so aus, als wenn ich mein Handy um 90 Grad rotiere, während das Banner angezeigt wird, sieht es normalerweise in der Landschaft aus, aber im Hochformat sieht es völlig zerquetscht aus. Hilft das erklären?

+1

Können Sie einen Code posten, der die Ansicht auf dem Bildschirm zu der Zeit steuert? –

+0

Ich habe den Code hinzugefügt, der die Benachrichtigung zu meiner ursprünglichen Frage generiert, aber ich bin mir nicht sicher, ob es irgendetwas g darüber gibt, das das komische zerquetschte Banner erklären würde. – Jackson

+0

Hier ist ein Hinweis ... Meine App ist im Hochformat, wenn dieses Problem auftritt. Es sieht so aus, als wenn ich mein Handy um 90 Grad rotiere, während das Banner angezeigt wird, sieht es normalerweise in der Landschaft aus, aber im Hochformat sieht es völlig zerquetscht aus. – Jackson

Antwort

2

Ich fand es heraus. Ich hatte nicht umgesetzt preferredInterfaceOrientationForPresentation so tat ich, dass

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationPortrait; 
} 

Und auch ich sicher, dass supportedInterfaceOrientations UIInterfaceOrientationMaskPortrait returend (beachten Sie, dass es UIInterfaceOrientationMASKPortrait nicht nur UIInterfaceOrientationPortrait zurückgibt). Danach hat alles gut funktioniert.

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
}