2012-03-21 112 views
0

我正在製作基於導航的應用程序,除了支持所有方向的ZoomPictureViewController(放大,縮小圖像)之外,我只需要縱向定位。視圖不旋轉

我提出ZoomPictureViewControllershouldAutorotateToInterfaceOrientation:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return YES; 
} 

返回YE秒,但我沒有得到任何旋轉。我知道shouldAutorotateToInterfaceOrientationwillRotateToInterfaceOrientationRotateToInterfaceOrientation只得到所謂的電流/可見視圖控制器上,但這不是我的情況發生。我已經通過放置斷點和NSLog進行檢查。

+0

刪除'return YES;'的註釋並測試它。 – 2012-03-21 11:08:22

+0

您是否在info.plist中更改了支持的方向? – 2012-03-21 11:14:39

+0

http://stackoverflow.com/a/9788125/204826 – jnic 2012-03-21 11:16:15

回答

1

您是否在使用任何類型的導航控制器或選項卡視圖控制器?我已經注意到,將UIView作爲主窗口的直接子元素時,會出現問題,這些UIView不是第一個或唯一的視圖。

因此,如果您的UIView是導航控制器或Tab View Controller的一部分,您還需要在導航控制器或Tab View Controller上覆蓋shouldAutoRotateToInterfaceOrientation

此外,我在這裏是Apple文檔中的一個重要問題,它可能會解釋您遇到的問題。

標籤欄控制器支持畫像 方向默認情況下並沒有 旋轉到橫向 除非所有的根視圖的 控制器支持這樣的 方向。當設備方向發生更改時,標籤欄控制器 將查詢其視圖控制器數組。 如果其中任何一個不支持 的方向,則標籤欄 控制器不會更改其方向 的方向。

+0

我使用導航控制器,沒有viewController支持方向。只有ZoomPictureViewController支持。 – fibnochi 2012-03-21 13:06:22