2011-12-21 17 views
1

我試圖讓設備轉動,如果在UIPageViewController用戶撇去到不支持當前界面方向的新視圖控制器。我希望得到或多或少的相同的行爲,就像一個VC被模態推動一樣。改變轉動方向,如果UIPageViewController的當前可見頁面不支持當前的方向

示例:UIPageViewController的當前VC支持所有接口方向,用戶可以瀏覽下一個只能橫向顯示的VC。

我使用的默認頁-BASE-應用程序模板,用於測試和如下實施DataViewController的shouldAutorotateToInterfaceOrientation方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    if (UIInterfaceOrientationIsLandscape(interfaceOrientation)) { 
     return YES; 
    } 

    if ([self.dataObject isEqualToString:@"February"]) { 
     return NO; 
    } 

    return YES; 
} 

我的期望是,如果我脫脂到視圖控制器二月屏幕會旋轉到風景,但它保持肖像。有趣的是,該shouldAutorotateToInterfaceOrientation叫,如果我脫脂至二月-VC返回NO。

我也打得四處檢查在RootViewController但沒有任何運氣的方向。

我現在出的任何想法。 任何意見將不勝感激,謝謝!

回答

0

有趣的部分是, shouldAutorotateToInterfaceOrientation被調用,如果 我掬到二月-VC

在這種情況下,我建議你唯一的辦法將是繼承UIPageViewController返回NO 。顯然,它知道它認爲到shouldAutorotate的答覆是應該的,但您不同意與回覆,所以你需要提供不同的答覆。

我並不感到驚訝地聽到,UIPageViewController的行爲就是這樣,雖然 - 畢竟,UINavigationController的工作方式相同:如果你把一個視圖控制器到導航控制器的堆棧和視圖控制器不允許的當前方向裝置中,所述接口不旋轉到該視圖控制器確實允許取向。我通過呈現一個視圖(過去稱爲模式視圖)來解決這個問題,這會強制設備旋轉。

相關問題