2011-08-10 121 views
1

我想根據某些條件旋轉ViewController。 shouldAutorotateToInterfaceOrientation的問題在於視圖總是以縱向/橫向方向開始(如在界面生成器中設置的那樣),並且用戶必須旋轉iPad以使用正確的模式....我如何改變這種行爲? 謝謝。以編程方式更改視圖方向而不旋轉ipad

回答

1

將變換應用於視圖。

view.transform = CGAffineTransformMakeRotation(M_PI);

可以使用的UIView動畫以動畫的變化。

+0

我會盡力讓你知道。謝謝。另一件事:這將使用Interf Builder中定義的這些自動調整規則嗎? –

+0

不,上面的代碼不會改變視圖的大小,它只會旋轉它。請注意,根據文檔,應用了非身份變換的視圖在框架屬性中具有未定義的值。 – Jiri

1

您也可以嘗試在您的info.plist添加此:

<key>UISupportedInterfaceOrientations</key> 
<array> 
    <string>UIInterfaceOrientationPortrait</string> 
    <string>UIInterfaceOrientationPortraitUpsideDown</string> 
    <string>UIInterfaceOrientationLandscapeLeft</string> 
    <string>UIInterfaceOrientationLandscapeRight</string> 
</array> 

來源:ipad default-landscape not displaying

0
[[UIDevice currentDevice] setOrientation:UIInterfaceOrientationPortrait]; 

這將改變方向,以potrait模式,而旋轉device.Likewise您可以使用 風景也

+0

這可行,但它不在api文檔中,所以您可能違反了Apple對私人apis的規定,並且可能會在您使用該應用程序時拒絕您的應用程序。 – erik

+1

這個mehtod被棄用,不再存在........ –

相關問題