iOS 项目中,特定页面强制横屏

一般情况下,一个项目要么可以横屏要么不可以横屏,但是也有些APP不是这样的,整个项目只支持竖屏但是需要加载游戏界面或者是必须横屏播放视频之类的,就要强制把某些页面设置为横屏:

首先要在我们项目的AppDelegate.h里边定义一个变量来设定屏幕的横屏或是竖屏

@property(nonatomic,assign)NSInteger rotation_Style;

然后在AppDelegate.m里边重写方法:

 - (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(UIWindow *)window

 {

       if (_rotation_Style == 1) {//如果是1就让屏幕强制横屏

               return UIInterfaceOrientationMaskLandscapeRight|UIInterfaceOrientationMaskLandscapeLeft;

             }

        else

             {

                    return (UIInterfaceOrientationMaskPortrait);

             }

 }



然后在需要强制横屏的页面导入AppDelegate.h头文件

然后两句代码:

AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    appDelegate.rotation_Style = 1;


搞定!


当然,如果就这样,那么会出问题的,就是你返回上个页面,上个页面就会抽风一样也是横屏了:

所以在返回的方法中也加上两句代码:

AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;

    appDelegate.rotation_Style = 3;//这里可以随便写,只要不是1




你可能感兴趣的:(iOS)