2013-01-31 59 views
0

我有一個支持UIDeviceOrientationPortrait和UIDeviceOrientationLandscapeLeft的iPad應用程序。如何強制iPad以landscaperight方向加載?

我沒有包括這種方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:   
     (UIInterfaceOrientation)interfaceOrientation 
    { 
     return (interfaceOrientation == UIInterfaceOrientationPortrait || 
     interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
    } 

我的問題是,我需要它在UIDeviceOrientationLandscapeLeft模式加載,只是加載,因爲我的UI控件將正確安裝。我怎樣才能強制它只負載一次。

有一所件事我想說明的是,這已經是最小的iOS 5

回答

1

我最近有類似的問題,但我想強制從景觀改變爲肖像,我知道在舊版本中已經建立了方法,但不幸的是我們不知道什麼時候和什麼在爲我們工作,但我給了這個代碼嘗試和它爲我工作,但我的場景是從風景強制到肖像,這是與您的情況相反,但無論如何它的工作原理,這裏是代碼可能爲您的方案;

-(NSUInteger)supportedInterfaceOrientations 

{ 
    return UIInterfaceOrientationMaskLandscape; 

} 

-(void)viewWillAppear:(BOOL)animated { 

    UIApplication* application = [UIApplication sharedApplication]; 

    if (application.statusBarOrientation != UIInterfaceOrientationLandscapeLeft) 
    { 
     UIViewController *c = [[UIViewController alloc]init]; 
     [self presentModalViewController:c animated:NO]; 
     [self dismissModalViewControllerAnimated:NO]; 
    } 


    [super viewWillAppear:animated]; 
} 

編輯在IOS 6.1的工作我已經添加了另外兩種方法,這是我沒有在我以前的帖子加了,我現在什麼都正在爲我的應用程序添加...

- (BOOL)shouldAutorotate 
{ 

    return NO; 
} 

- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation 
{ 
    return UIInterfaceOrientationLandscapeLeft; 
} 

這個想法是檢查狀態欄orietnation並添加和關閉一個modalViewController,它適用於我強制從一個方向到另一個方向。

+0

但是在這段代碼中它實際上是否將狀態欄從風景轉到了肖像?反之亦然(取決於您的方案 – Huang

+0

我試過這個解決方案(但他們chnaged狀態欄的方向的變體),它並沒有爲我工作,因爲你可以閱讀herre EIN左右。它不工作alsways有不存在任何可靠的解決方案。再見,你忘了改變statusBar的方向嗎? – AlexWien

+0

檢查我的編輯答案,我有這個工作代碼在我的應用程序,如果你有shouldautoRotate設置爲NO和preferredInterfaceOrientation是landscapeleft,然後顯示新的viewcontroller時,只需添加一個modalViewController並關閉它在viewWillAppear,這是訣竅。 – nsgulliver

0

更新項目設置或信息文件。
在iOS 6.x中,您應該覆蓋supportedInterfaceOrientations。 也試試preferredInterfaceOrientationForPresentation

+0

但我想,項目負載後支持兩個方向,只是迫使它加載的景觀只是負載。 – Huang

+0

我添加了另一種重寫方法 - preferredInterfaceOrientationForPresentation。你有沒有試圖看看這個力量的景觀? – Yariv

0

儘管任何應用Info.plist設置或-shouldAutorotateToInterfaceOrientation:(或-shouldAutorotate)方法覆蓋,視圖控制器在肖像開始,並且然後由iOS的旋轉到景觀。

什麼在阻止你的UI佈局被正確安裝?

1

即使這個答案是不是你所期望的:

給自己一個忙:它是非常複雜的設備強制到特定方向。

您可以在這裏所以搜索,什麼都工作和不工作,並在6.1工作,而不是在6.01。等等。

所以最快,最安全的是,要解決你的代碼,使得它可以在兩個方向corectly初始化。