3
我有一個應用程序需要在整個時間都處於肖像模式,除非播放視頻。爲了在我的項目設置中啓用VideoController的橫向模式,我啓用了所有支持的方向模式。 然而這允許我的其他控制器也可以旋轉。爲了解決這個問題,我添加以下到我的根UINavigationController
:iOS狀態欄忽略根控制器中的supportedInterfaceOrientations
- (BOOL)shouldAutorotate
{
return YES;
}
-(NSUInteger)supportedInterfaceOrientations
{
if([[VideoPlaybackManager sharedManager] videoIsPlaying]) {
return UIInterfaceOrientationMaskLandscape;
}
return UIInterfaceOrientationMaskPortrait;
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
if([[VideoPlaybackManager sharedManager] videoIsPlaying]) {
return UIInterfaceOrientationLandscapeLeft;
}
return UIInterfaceOrientationPortrait;
}
現在我有兩個問題:
應用程序的標準屏幕尊重限制,並留在縱向方向。但是,狀態欄會更改方向,而不會中斷用戶界面。如果設備處於橫向模式,我會在縱向屏幕上顯示橫向狀態欄。我該如何解決這個問題,使狀態欄保持原狀?
我爲視頻播放時設置了首選的橫向方向。這不起作用,並且
preferredInterfaceOrientationForPresentation
似乎根本不被調用。我做錯了什麼,或者我錯過了什麼?
UPDATE 我通過添加固定1.下面我AppDelegate
:然而
- (NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if([[VideoPlaybackManager sharedManager] videoIsPlaying]) {
return UIInterfaceOrientationMaskAll;
}
return UIInterfaceOrientationMaskPortrait;
}
問題號2仍然存在。當我開始播放視頻時,它不是從橫向開始的。任何想法?
任何幫助將不勝感激! 謝謝!
你嘗試從'shouldAutorotate'返回'NO'影片時不打,堅持你的狀態欄方向是什麼? – ismailgulek
我剛剛嘗試過,狀態欄似乎沒有受到它的影響 - 它再次改變方向。 – planewalker