2011-10-17 48 views
0

自從切換到Xcode 4和iOS 5以來,我無法讓我的應用程序旋轉。撕掉我的頭髮後,我創建了一個全新的測試項目,以查看是否可以讓一個裸露應用程序旋轉。爲什麼我的應用程序不能在Xcode 4/iOS5中旋轉?

我使用'Empty Application'模板創建了測試項目。我添加到這個模板中的所有東西都是一個UINavigationController,並將UIViewController推送到它上面。 UIViewController有一個nib文件,其中一個標籤上寫着'Hello'。

在目標摘要屏幕上,我單擊了「支持的設備方向」的所有按鈕。

在爲導航和瀏覽器的代碼.m文件,我改變shouldAutoRotate ...到:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return (YES); 
} 

測試項目編譯沒有問題,運行完美。有一個導航欄和友好的'你好'的消息,但是這件事不會旋轉!

顯然,我錯過了一些非常簡單的事情,但我無法弄清楚它是什麼。我懷疑是在.nib上。在「模擬度量」下,有一個稱爲方向的屬性。這被設置爲肖像。唯一的其他選擇是'景觀'。如果我將此設置更改爲「橫向」,則.nib編輯器中的視圖將更改爲橫向,但是當我運行該應用程序時,它將以縱向模式運行,但仍然拒絕旋轉。

希望有人能從我的錯誤中大笑,並指出我犯的愚蠢錯誤。請做!

回答

0
在RootViewController.m

找到行

return (UIInterfaceOrientationIsPortrait(interface Orientation)); 

,你可以用任何取代這個......就像

return (UIInterfaceOrientationIsLandscape(interface Orientation)); 
+4

我實際上沒有這樣的線路在我的根視圖控制器,但你讓我感受到解決方案的氣味。在applicationDidFinishLaunchingWithOptions中,我一直在做:[self.window addSubview:nav.view],我猜是有點老派。我需要做的是:[self.window setRootViewController:nav]。這固定了旋轉問題,但我不確定爲什麼。第一種方式對我來說工作得很好。我需要了解這一點,並找出爲什麼它不再有效。謝謝! – John

+0

添加到窗口的最後一個視圖是接收旋轉事件的視圖;如果您在nav.view之後向窗口添加另一個視圖,那可能是因爲事情不適合您。 – Kevlar

+0

正在更新一箇舊項目和setRootViewController:事情是這個問題。謝謝,約翰! – MacD

相關問題