2011-12-02 190 views
1

好的,我不完全確定我是否會充分解釋這一點,但在這裏。UIViewController shouldAutorotateToInterfaceOrientation not working properly

在我的應用程序中,我有多個viewControllers,添加和刪除顯示不同的意見,等等。其中一些控制器,我想允許旋轉,而其他我只想說人像模式。

但是,當我去和更改shouldAutorotateToInterfaceOrientation爲所需的方向返回YES,或者甚至只是總是返回YES,當我在某些視圖中旋轉設備時沒有任何反應。

我添加到應用程序中的第一個視圖將正確旋轉並執行我希望它執行的操作,但隨後添加到窗口中的任何後續視圖只是不想根據需要旋轉。

我將我的父視圖(主要爲UIWindow)設置爲autoresizeSubViews,但仍然沒有任何結果。

有什麼建議嗎?

+0

如果您正在使用'[someView addSubview]','shouldAutorotateToInterfaceOrientation'不能正常工作。 你如何添加額外的視圖控制器? – amattn

+0

這就是我如何添加我的意見。我應該以不同的方式去做。我通常做一些像[someView addSubiew:[someViewController視圖]] – MZimmerman6

+0

作爲建議,你可以隱藏特定的控制器在橫向模式..通過設置其設置爲YES,通過檢測你想隱藏的設備方向。 – Bala

回答

0

我發現我的問題只是我如何實現我的過渡和添加新的視圖到屏幕上。在我剛剛使用viewcontroller viewcontroller之前,將它作爲子視圖添加到主視圖中,因此唯一可以控制旋轉的是主視圖控制器。我不知道[self.navigationcontroller pushviewcontroller]的東西存在。所以是的,這就是我現在使用的,它正是我需要它做的。

0

該視圖,你想要旋轉,你需要執行shouldAutorotateToInterfaceOrientationreturn YES;爲每個視圖!這應該有效,但是,如果您不想允許橫向模式,則可以使用return NO;進行橫向模式。 (默認模式是肖像)。