2012-07-18 81 views
3

我有一個以縱向模式打開的iPad應用程序,但當切換到另一個視圖時,我需要強制橫向顯示方向,以便用戶意識到他們需要物理移動屏幕方向風景,然後當他們離開這個視圖時,我需要強制重定向到肖像。在不同視圖上旋轉IPad屏幕方向

我可以看到ShouldAutorotateToInterfaceOrientation(UIInterfaceOrientation toInterfaceOrientation),它如果認爲正確只是限制了可能用於看法,但這設置爲一個方向(例如UIInterfaceOrientation.LandscapeRight)不會強制方向來改變方向。

我見過一些關於強制視圖旋轉使用this.View.Transform.Rotate(...)但似乎不適用於我的其他建議。

只是想知道是否有人有任何建議或能夠指出我在正確的方向嗎?

感謝

回答

1

是你的看法所有單個的UINavigationController內顯示?

如果是的話,恐怕答案是,你不能達到你正在尋找的東西 - 看到一個完整的解釋,包括鏈接到蘋果開發者文檔上:How to constrain autorotation to a single orientation for some views, while allowing all orientations on others?

如果你想爲了達到你正在尋找的效果,那麼也許切換到使用一些其他的「父母」爲你的所有孩子的意見 - 例如以模態方式顯示它們?

1

首先,設置ShouldAutorotateToInterfaceOrientation只支持橫向。 然後用這個黑客給力方向改變:

var c = new UIViewController(); 
PresentModalViewController (c, false); 
DismissModalViewControllerAnimated (false); 
+0

感謝您的支持。它似乎正確地旋轉頁面,但是當我轉動並旋轉iPad時,頁面再次旋轉,並且不合時宜,並且似乎無法恢復,因爲每次旋轉iPad時它都會一直移動。我使用上面的代碼,然後將UIViewController推到一個navigationController上來顯示視圖。 – Gavin 2012-07-18 13:51:10

+0

手動強制旋轉後,您是否從ShouldAutorotateToInterfaceOrientation返回正確的值? – 2012-07-19 08:17:11