AVFullscreenVideoController是在ios8中播放youtube全屏时的视图控制器。我可以通过操纵应用程序委托方法来允许它旋转
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
/*
if view controller is AVFullscreenVideoController or MPInlineVideoFullscreenViewController or MPMoviePlayerViewController"
return UIInterfaceOrientationMaskAllButUpsideDown;
*/
}
我的目标是保持我的视图控制器的当前UIInterfaceOrientationMask,并允许在播放时旋转到全屏视频。
如果不在appdelegate.m中添加代码,我怎么能达到同样的效果?谢谢
我发现全屏视频控制器取决于你允许你的设备做什么。无论是在目标>常规>设备方向还是在应用程序中委托
-(NSUInteger)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window;
我只是确保,如果我的rootviewcontroller是一个导航控制器作为rootviewcontrollers,我必须实现这些方法来将控制权交还给我的其他视图控制器
-(BOOL)shouldAutorotate
{
return [[self.viewControllers lastObject] shouldAutorotate];
}
-(NSUInteger)supportedInterfaceOrientations
{
return [[self.viewControllers lastObject] supportedInterfaceOrientations];
}
- (UIInterfaceOrientation)preferredInterfaceOrientationForPresentation
{
return [[self.viewControllers lastObject] preferredInterfaceOrientationForPresentation];
}
在呈现全屏视频控制器的视图控制器严格为纵向的情况下,请参阅这篇文章
只允许使用人像应用进行横向视频