2013-06-04 65 views
1

我的應用主要支持iOS6 +。在考慮關於iOS5時,我添加了以下判斷。iOS5,presentModalViewController錯誤地呈現新視圖

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 6.0) { 
    self.modalPresentationStyle = UIModalPresentationFullScreen; 
    [self presentViewController:readerViewController animated:YES completion:NULL]; 
} 
else { 
    self.modalPresentationStyle = UIModalPresentationFullScreen; 
    [self presentModalViewController:readerViewController animated:YES]; 
} 

但是,模態視圖呈現在我的景觀應用程序垂直。我的意思是,我的應用程序是風景,模式視圖只是「謊言」那裏,而不是我設置的全屏,只是覆蓋屏幕的一部分,而發現是黑色的。

我想知道有沒有人可以幫忙。感謝前鋒。

回答

0

首先,presentViewController:animated:completion:已經可用since iOS 5.0所以你不必擔心版本。在情況下,如果你真的想檢查方法的有效性,你應該使用

if ([self respondToSelector:@selector(presentViewController:animated:completion:)]) 

對於模式的看法,你需要設置modalTransitionStylemodalPresentationStyle呈現控制器例如readerViewController你的情況。所以你的代碼應該是

readerViewController.modalTransitionStyle = UIModalPresentationFullScreen; 
readerViewController.modalPresentationStyle = UIModalPresentationFullScreen; 
[self presentModalViewController:readerViewController animated:YES completion:NULL]; 
+0

你的方式確實呈現模態視圖。但重要的是,它只是在那裏「撒謊」,而不是我設定的全屏。我也試過[self.presentingViewController presentViewController:readerViewController animated:YES completion:NULL];雖然它沒有工作。 – Calios

+0

也許我錯過了一些細節?父視圖支持橫向和模態視圖的所有方向。在iOS6 +中,我從它的父視圖展示了一個模式視圖,它工作正常。在iOS5中,問題出現了。如果這不是版本問題,那還有什麼問題呢?你能想到它嗎? – Calios

1

丁香: - tia說什麼是正確的。你不需要擔心版本。我認爲你沒有設置ModalView的方向與所需的視圖Oreintation。

意思是說,如果你的mainViewController(你從中展示ModalView)只支持橫向模式,那麼在modalViewController中,你必須設置方向,限制在橫向視圖中呈現。

您應該在modalViewController中寫入mainViewController中寫入的方向代碼。

這些方法: -

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return (interfaceOrientation == UIInterfaceOrientationLandscapeRight || interfaceOrientation == UIInterfaceOrientationLandscapeLeft); 
    // return YES; 

} 

-(BOOL)shouldAutorotate{ 
    return YES; 
} 

-(NSUInteger)supportedInterfaceOrientations{ 
    return UIInterfaceOrientationMaskLandscape; 
} 

如果它不能解決你的問題,如果它確實幫助,你知道該怎麼做請回復)。

+0

我確實有你在樓上提到的方法,而這個問題是不久前自動旋轉問題的延伸。父視圖支持橫向和模態視圖的所有方向。在iOS6 +中,我從它的父視圖展示了一個模式視圖,它工作正常。在iOS5中,問題出現了。如果這不是版本問題,那還有什麼問題呢?你能想到它嗎? – Calios

相關問題