0
我正在研究方向和電影播放器。該功能如下:iOS - 用戶界面不會隨着設備旋轉變化而變換
如果我打開MPMoviePlayer的全屏模式,那麼它應該在只打開橫向模式。
如果我轉動我的設備爲橫向,然後它會自動啓動MPMoviePlayer
的全屏模式和它再次回到縱向模式時,我關掉
MPMoviePlayer的全屏模式或旋轉裝置到肖像模式。
現在的問題是,它關係到在設備旋轉全屏模式爲橫向模式
,但在回來的時候,用戶界面是不是轉變到肖像模式正常。
此問題僅適用於iOS 8.1,8.2。它在iOS 7. *和8.3,8.4中工作正常。
請看附屏幕:
全屏幕前:
後全屏:
回來到肖像模式:
我已經使用這個代碼來處理方向:
allowRotation
是布爾屬性在AppDelegate.h
文件中聲明
//添加對電影播放觀察員定位事件在應用程序代表
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillEnterFullscreenNotification:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(moviePlayerWillExitFullscreenNotification:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];
//觀察方法
- (void) moviePlayerWillEnterFullscreenNotification:(NSNotification*)notification {
allowRotation = YES;
}
- (void) moviePlayerWillExitFullscreenNotification:(NSNotification*)notification {
allowRotation = NO;
}
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window{
if (([[self.window.rootViewController presentedViewController] isKindOfClass:[MPMoviePlayerViewController class]] && ![[self.window.rootViewController presentedViewController] isBeingDismissed]) || allowRotation)
{
return UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight;
}
else{
allowRotation= NO;
return UIInterfaceOrientationMaskPortrait;
}
return UIInterfaceOrientationMaskPortrait;
}
請幫我解決這個問題。
你是怎麼解決的呢? – SwiftArchitect