美文网首页
iOS设置项目启动默认方向

iOS设置项目启动默认方向

作者: 倒骑毛驴看风月 | 来源:发表于2018-07-17 23:22 被阅读178次

    今业务需求是:app启动的时候加载的是一个横向的游戏,根据后台参数,加载新的windows.rootviewcontroller,这个新的vc里面放了一个wkwebview,加载一个竖屏的游戏。先修改app启动的时候的默认方向,如下图:

    第一步:先把info.plist文件里面的device orientation 全部都不勾选

    第二部:在info.plist文件里面,加一个新的字段:

    key值:Initial interface orientation

    value值:Landscape (left home button)

    如下图:

    app启动默认的是一个横的方向

    第三部:在appdelegate里面从写下面两个方法:

    - (BOOL)shouldAutorotate {

        return YES;

    }

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

        return UIInterfaceOrientationMaskAll;

    }

    这两个方法,重写系统的,可以通过代码来手动控制设备的方向

    第四部:在对应的想要修改为竖屏的vc里面重新跳转设备的方向为竖屏

    - (BOOL)shouldAutorotate {

        return YES;

    }

    - (UIInterfaceOrientationMask)supportedInterfaceOrientations {

        return UIInterfaceOrientationMaskPortrait;

    }

    同样重写了,和appdelegate里面一样的控制设备方向的方法。

    PS:重写系统控制设备方向的方法,第一个先在appdelegate里面写,这样子,就可以通过代码来接管系统里面的控制设备的方向的操作。第二个在想要改变设备方向的vc里面来调转具体的设备方向。

    注意:如果device orientation里面没有UIInterfaceOrientationMaskPortrait,并且,device orientation的勾都没有去掉(也就是有其他的设备方向存在),这个时候要是把设备方向修改为没有的UIInterfaceOrientationMaskPortrait,app会闪退的。

    相关文章

      网友评论

          本文标题:iOS设置项目启动默认方向

          本文链接:https://www.haomeiwen.com/subject/aelnpftx.html