2013-08-29 52 views
1

我iPad應用視圖控制器的控制自轉具有UIViewController稱爲MainViewController呈現稱爲ModalViewController一個模態頁片UIViewControllerModalViewController然後呈現UIImagePickerControlleriOS 6的後面的UIImagePickerController

這裏是MainViewController.m

@implementation MainViewController { 

... 

- (BOOL)shouldAutorotate 
{ 
    return YES; 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return UIInterfaceOrientationIsLandscape(toInterfaceOrientation); 
} 

- (NSUInteger)supportedInterfaceOrientations 
{ 
    return UIInterfaceOrientationMaskLandscape; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationLandscapeRight; 
} 

... 

} 

所以它旋轉到任何景觀的方位,而當提出ModalViewController它旋轉的情況也會正確。

但是,當呈現UIImagePickerController時,它允許旋轉到橫向或縱向取向,並且這允許MainViewControllerModalViewController旋轉到不需要的取向。

UIImagePickerController在屏幕上時,如何防止MainViewControllerModalViewController旋轉?

回答

0

這是這裏問的同樣的問題Stop a modal UIViewController from rotating?如果最後使用UINavigationController,則可以對其進行子類化並控制旋轉機制

+0

不,這不是同一個問題。我已經對容器視圖控制器進行了子類化,以便它將旋轉委託給最頂層的視圖控制器。問題是我想讓相機模式旋轉到任意方向,但我需要它後面的控制器不旋轉,或者至少在相機模式被解散時以校正方向結束。 – Josh

+0

噢,我明白了。那麼如果你仍然想讓UIImagePicker控制器旋轉,但你不想讓底層控制器使用它,你是否考慮過旋轉這些圖層?如果方向是您打算支持的方向,您可以檢查旋轉回調,如果不是這種情況,您可以旋轉該圖層,以便最終它仍然可以按照您的需要「顯示」。 – Vik

+0

這是一種「正確」的做事方式嗎?我擔心狀態欄不一定會在正確的位置,並且'self.view.frame'不會像預期的那樣。 – Josh

相關問題