iOS控制视频的横竖屏

1:首先大家有点懵,其实好好研究下就可以

  • 控制横竖屏Xcode-General-Device Orientation进行选择可以进行的旋转方向。
    *另一个就是代码去控制

Appdelegate.m类里面进行生命周期添加方法
Appdelegate.h添加属性isShouAutoRotate-BOOL值
-(UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
if (self.isShouAutoRotate == 1) {
return UIInterfaceOrientationMaskLandscape;
}else{
return (UIInterfaceOrientationMaskPortrait);
}
}

//可以添加这个,设置是否可以进行横竖屏旋转
//一般情况下子类界面进行横竖屏旋转就重写方法就好了,不需要在这里面添加了
//- (BOOL)shouldAutorotate
//{
// if (self.isShouAutoRotate == 1) {
// return YES;
// }
// return NO;
//}

Appdelegate.m进行设置全局的横竖屏。

在需要的控制器里面进行添加,我们项目是视频类App,需求就是进行横竖屏界面的旋转,进入就是横屏模式。
number=1 可以旋转,左右可以进行旋转
number=0 禁止旋转

这是ios6之后新增的一组枚举值,使用组合时更加方便,使用时根据返回值类型选择正确的格式。这个属性最管用,其余的俩个不是很好用。
/*typedef NS_OPTIONS(NSUInteger, UIInterfaceOrientationMask) {
UIInterfaceOrientationMaskPortrait = (1 << UIInterfaceOrientationPortrait),
UIInterfaceOrientationMaskLandscapeLeft = (1 << UIInterfaceOrientationLandscapeLeft),
UIInterfaceOrientationMaskLandscapeRight = (1 << UIInterfaceOrientationLandscapeRight),
UIInterfaceOrientationMaskPortraitUpsideDown = (1 << UIInterfaceOrientationPortraitUpsideDown),
UIInterfaceOrientationMaskLandscape = (UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
UIInterfaceOrientationMaskAll = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight | UIInterfaceOrientationMaskPortraitUpsideDown),
UIInterfaceOrientationMaskAllButUpsideDown = (UIInterfaceOrientationMaskPortrait | UIInterfaceOrientationMaskLandscapeLeft | UIInterfaceOrientationMaskLandscapeRight),
} */

  • (void)appdelegateisShouAutoRotate:(int)number
    {
    AppDelegate *appdelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
    appdelegate.isShouAutoRotate = number;
    }

  • (BOOL)shouldAutorotate
    {
    return ?;
    }
    第一个方法不是很建议使用.代码进行控制是最方便的。

你可能感兴趣的:(iOS控制视频的横竖屏)