2013-02-15 97 views
0

我正在開發一個ios應用程序,該應用程序必須在橫向和縱向上工作,除了一個視圖,應始終處於橫向模式。所以,我有:iOS首先自動旋轉視圖

-(BOOL) shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation 
{ 
    return (toInterfaceOrientation == UIInterfaceOrientationLandscapeRight) || (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
} 

如果我吃午飯我在橫向模式下的應用,並獲得這一觀點和旋轉設備(新iPad),這種方法被調用並返回false,所以接口不旋轉,好東西。

但是如果我在肖像中,並得到這個視圖,這個方法被調用並返回一個false,但方向不會改變。在這種情況下,如果我將設備旋轉到橫向,該方法返回true,並且界面正確旋轉,如果我試圖再次旋轉到縱向,此方法返回false,並且界面保持橫向。

我第一次看到這個視圖時,如果設備是縱向的,界面是否改變爲橫向,我該如何實現?

而且,我試圖與

- (NSUInteger)supportedInterfaceOrientations 

但它永遠不會被調用。

在此先感謝!

回答

0

shouldAutorotateToInterfaceOrientation:在iOS 6.0中折舊。改爲改寫supportedInterfaceOrientationspreferredInterfaceOrientationForPresentation方法。

從文檔上preferredInterfaceOrientationForPresentation

如果視圖控制器實現該方法,然後給出時, 其視圖在優選的取向示出(儘管它可以以後 被旋轉到另一個支持旋轉)。如果您未執行此方法 ,則系統會使用狀態欄的當前方向來呈現視圖控制器。

+0

對不起,我沒有很好地解釋自己。我在iOS 5設備上運行我的應用程序,並且每次顯示我只希望在橫向顯示的視圖時,方法shouldAutorotateToInterfaceOrientation被調用,但如果我在縱向,儘管它返回NO,視圖以縱向顯示。如果我旋轉到橫向然後它返回YES和視圖旋轉,如果我再次旋轉到肖像,它返回NO和視圖保持在橫向,因爲它應該。我的問題是,第一次,當方法返回NO,我需要視圖旋轉到肖像,而不是保持肖像。 – mario595 2013-02-18 11:41:18