2012-05-12 33 views
1

我有一個UIViewController,它啓動一個模式視圖控制器。兩者都有定向支持。如果我使用模態視圖控制器進行旋轉,它不會告訴視圖控制器背後發生了旋轉,因此當模態視圖控制器被解散時,原始視圖處於正確的方向,但是以原始大小(例如,我將它旋轉爲480x320,文本和其他項目將成爲新方向的正確方式,但仍然會以320x480佈局進行排列)。我如何讓視圖控制器知道旋轉發生了?UIViewController不知道與顯示的模式視圖的旋轉

+0

的'顯示UIViewController'模態不正常地「告訴」關於旋轉的呈現控制器。旋轉是自動處理的,只要'-shouldAutorotateToInterfaceOrientation:'返回'YES',即使當前沒有顯示控制器。你在使用'UINavigationController'嗎?如果堆棧中的任何視圖控制器不支持自動旋轉,則視圖不會旋轉。在任何情況下,儘管可以使用黑客來強制輪換,但最好的辦法是解決潛在的問題,但是沒有更多的細節,很難分清哪裏出了問題。 – modocache

回答

1

使用NSNotification。

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
     { 
      // send a notification here 
     } 

在你的ViewController後面,添加一個觀察者並調用一個方法來修復佈局。

An old SO answer explaining the sytntax for NSNotification

我希望它有用

+0

但是我會以什麼名字?什麼會觸發它來實現它? – Andrew

+0

使用任何名稱,如果其在NOTICE和觀察者中相同,則會觸發 – zahreelay

相關問題