我在这里面对same problem。但我的应用程序在iOS 7上的工作方式不同。
在视频结束或退出全屏时,应用程序旋转保持横向模式。我手动将设备旋转到纵向位置,然后应用程序变为正常方向位置(纵向),不再更改。但是在视频结尾处的ios 6中,设备方向会自动回到正常位置。
有没有人有建议?
编辑:我现在才意识到。我的应用程序状态栏在视频结尾处是纵向方向。然而,该观点持有景观位置。我尝试重复旋转,然后修正了视图。答案 0 :(得分:2)
在AppDelegate.h中:
@property(nonatomic)BOOL allowRotation;
AppDelegate.m中的:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
RootViewController * root = [[RootViewController alloc] init];
self.window.rootViewController = root;
//add two Notification
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPVisionVideoNotification:) name:MPMoviePlayerWillEnterFullscreenNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(MPVisionVideoNotification:) name:MPMoviePlayerWillExitFullscreenNotification object:nil];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
return YES;
}
- (void) moviePlayerWillEnterFullscreenNotification:(NSNotification*)notification {
self.allowRotation = YES;
}
- (void) moviePlayerWillExitFullscreenNotification:(NSNotification*)notification {
self.allowRotation = NO;
}
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if (self.allowRotation) {
return UIInterfaceOrientationMaskLandscapeRight ;
}
return UIInterfaceOrientationMaskPortrait;
}
//this can rotate the windows when to fullscreen state
答案 1 :(得分:0)
最后,我解决了这个问题。我没有提到我曾经使用过第三方图书馆,这是“viewdeck II”。它破坏了旋转周期。
我建议谁遇到这种问题,检查第三方图书馆......