2010-04-29 50 views

回答

1

你存在,使用presentModalViewController控制器:動畫:應該支持任何方位,通常使用這種方法:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

使用這種方法,當你在橫向出示您的控制器,它會正確地顯示在景觀方向也一樣。

0

我有同樣的問題。我設置了TRUE AutorotateInterfaceOrientation,但是在開始時我的模態視圖總是呈現爲縱向,即使它是橫向。只有當我改變了設備方向(在模擬器中),它的行爲才變得正確。但在開始不! 我不知道爲什麼,但一切都取決於你現在的觀點。 例如,如果您使用viewDidLoad方法呈現,則會出現問題。爲了解決問題,我從viewDidLoad中調用的方法調用presentModalView(顯然,它似乎是同樣的事情)。所以,我不喜歡的東西:

- (void) viewDidLoad 
{ 
    [super viewDidLoad]; 
    // add this line 
    [self performSelector:@selector(presentModal) withObject:nil afterDelay:0]; 
} 

-(void) presentModal{ 
    // here present your view 
} 

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    return YES; 
} 

這對我的作品

0

我只是在viewDidAppear添加代碼解決了這個問題我自己。我認爲它沒有在適當的方向上顯示出來的原因是因爲我在viewDidLoad中使用了show modal代碼,並且在那一點上,我認爲視圖剛加載,但方向尚未設置。所以,在viewDidAppear中加入它爲我工作。你可能也會有幸在viewWillAppear(因爲那個時候,它必須知道方向,邊界,大小等等)。