2013-11-02 28 views
5

我有一個以非常簡單的方式使用GameCenter的應用程序(只是一個帶有所有時間高分的簡單排行榜)。有時,當我切換到我的應用我會看到通知,上面寫着「歡迎回到遊戲中心」,但有時這個通知出現如下圖壓扁,如:GameCenter通知橫幅有時會出現「擠壓」 - 這可能是什麼原因造成的?

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

有誰知道什麼可能的導致這?因爲我完全不知道。

我的身份驗證代碼生成通知橫幅是相當標準的。

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; 

     } 
    }; 

另外一個信息是,當出現此問題時,我的應用程序處於縱向方向。看起來如果我在顯示橫幅的同時將手機旋轉90度,它通常會在橫向顯示,但縱向顯示它看起來都已經變形。這有助於解釋它嗎?

+1

你可以發佈一些代碼來控制屏幕上的視圖嗎? –

+0

我添加了生成通知給我的原始問題的代碼,但我不確定是否有任何關於它的東西可以解釋奇怪的壓扁橫幅。 – Jackson

+0

這是一個線索...當這個問題發生時,我的應用程序是縱向的。看起來如果我在顯示橫幅的同時將手機旋轉90度,它通常會在橫向顯示,但縱向顯示它看起來都已經變形。 – Jackson

回答

2

我想通了。我沒有執行preferredInterfaceOrientationForPresentation所以我做了

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationPortrait; 
} 

而且我也確信,supportedInterfaceOrientations returend UIInterfaceOrientationMaskPortrait(請注意,它返回UIInterfaceOrientationMASKPortrait不僅僅是UIInterfaceOrientationPortrait)。之後,一切正常。

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskPortrait; 
} 
相關問題