2012-10-16 84 views
1

在我的應用程序的構建設置中,我已經檢查了所有支持的方向(除了倒置)。iOS:防止切換時查看方向?

但是,當我啓動應用程序時,某些視圖不能用縱向顯示,將自動旋轉並截斷視圖的一半。我不希望這些視圖旋轉。

我該如何預防? ive試過使用:

-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
if(interfaceOrientation == UIInterfaceOrientationLandscapeLeft) 
    return YES; 
if(interfaceOrientation == UIInterfaceOrientationLandscapeRight) 
    return YES; 

return (interfaceOrientation == UIInterfaceOrientationLandscapeRight); 
} 

但是,該設備仍然想要時,它可以變成肖像。任何幫助都會很棒。

+0

http://stackoverflow.com/questions/2868132/shouldautorotatetointerfaceorientation-doesnt-work – prashanth

回答

0

此方法已棄用,不會在iOS 6中調用。有關更多信息,請參閱Apple的文檔或關於新方法的SO上千個問題之一。

0

您不想旋轉的視圖嵌入導航欄或標籤欄中?如果有的話,我也面臨同樣的問題。你需要一個類分配到標籤欄/導航欄,並覆蓋iOS 6中的新方法:

-(BOOL)shouldAutoRotate 
{ 
return NO; 
} 

讓我知道,如果這是你的問題的類型。我還必須使用NSNotificationCenter實現方向更改,以便在我的一個子視圖上旋轉。我會張貼如何,如果這是你的要求。

讓我知道!

0

shouldAutorotateToInterfaceOrientation已棄用。新的替代品是shouldAutoRotate。爲了在返回shouldAutoRotate的值之前在界面方向之間進行區分,請使用UIViewControllers的interfaceOrientation屬性。例如,你可能有這樣的事情:

-(BOOL)shouldAutoRotate{ 
    if (self.interfaceOrientation == UIInterfaceOrientationPortrait){ 
     return YES; 
    } 
    else { 
     return NO; 
    } 
}