2011-04-10 65 views
2

我想做一個簡單的iPhone遊戲,我需要遊戲在橫向模式。我可以將初始視圖變爲風景,但如果刪除初始視圖並將其替換爲新視圖(從主菜單進入遊戲屏幕),則新視圖現在處於縱向模式。此外,如果我切換回第一個視圖(移除遊戲屏幕,然後創建新的菜單視圖),視圖仍處於縱向模式。我已在Info.plist文件正確設置與景觀權初始化和我有一個設置了下面的代碼GameViewController.m文件:iPhone遊戲風景定位問題

-(BOOL) shouldAutorotateToInterfaceOrientation: 
     (UIInterfaceOrientation)interfaceOrientation 
{ 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 

我看了一下具有建立煩惱的人很多貼子風景取向,但他們似乎總是關於應用程序的初始負載(只顯示一個視圖)。我似乎無法找到任何解決這個問題的方法。有人能幫我嗎?

+0

做你的意見都有shouldAutorotateToInterfaceOrientation:設置爲UIInterfaceOrientationLandscapeRight返回YES? – Tudorizer 2011-04-10 17:40:14

回答

2

你已經蹣跚到

平臺上最有名的錯誤之一!

祝賀您發現它!在這裏:

iPhone app in landscape mode, 2008 systems

請務必閱讀開頭段:「額外的衆所周知的問題的一個重要的提醒手頭這裏......」!

它爲您提供解決方案,用於所有應用程序。

+0

感謝您的鏈接,我會查看它。 – usherjer 2011-04-10 20:06:06

-1

確保屏幕上可見的所有視圖控制器都支持橫向。我會建議,在你的shouldAutorotateToInterfaceOrientation,返回UIInterfaceOrientationIsIsLandscape(interfaceOrientation);而不是你的代碼。這將確保這兩種景觀方向都可以發揮作用。你可以多分享一下你如何從主菜單切換到遊戲屏幕?

+0

當我觸摸屏幕並在兩次觸摸後,該功能被調用,它將變爲下一個視圖。 - (void)touchesEnded:(NSSet *)觸及事件:(UIEvent *)event { \t UITouch * touch = [touches anyObject]; \t NSUInteger numTaps = [touch tapCount]; \t if(numTaps> 1) \t { \t \t [m_pManager doStateChange:[gsMain class]]; \t} } – usherjer 2011-04-10 20:03:50