ios横竖屏切换问题

我一开始就用的新建view的方法 发现在ipx上一下就看出并不是真正实现切换 ipx的虚拟bar还是根据手机的横竖屏格式放置的 只是一个view布局的旋转

(UIInterfaceOrientation)preferredInterfaceOrientationForPresentation重写了


游戏打开是竖屏 进入初始场景的时候会有一瞬间是横屏 然后又跳成竖屏···

你的supportedInterfaceOrientation是UIInterfaceOrientationMaskAllButUpsideDown,里面是包含竖直方向的

这个不是当前控制器支持的方向么 我跳转竖屏的时候不是要支持竖屏方向么

你应该在旋转的时候改变支持方向,而不是把支持方向全写上去,当你是横屏的时候,就不应该支持竖屏,你点击切换方向为竖屏的时候,就不应该支持横屏

我现在的流程:
构建选项

重写RootViewContrellor中的方法


创建屏幕旋转方法

进入竖屏场景时js层调用此方法

最终结果还是无效···ipx的虚拟bar还是会放在LandscapeRight的时候的位置 并且屏幕也没有实现旋转

你现在只支持横屏,不支持竖屏,你调用旋转为竖屏方法之前,你应该把UIInterfaceOrientationMaskLandscapeRight改为UIInterfaceOrientationPortrait,再调用

应该把方向写成属性

旋转之前改变支持方向和展示方向

具体的旋转流程,你可以看一下这个 旋转

老哥····oc语法我有点懵 这个static_self.viewController是怎么定义的

自己定义的,你想定义abc都行,又不一定要这个:sweat_smile:

emmmm static_self是AppController的静态变量吧 我在RootViewController.m中调用的时候报错 网上搜到的是静态全局变量只能在本文件中使用···

旋转屏幕的方法不是jsb调用的么,是静态方法,我是在Appdelegete里面调用的

老哥 ···
我在RootViewController.h中定义了两个属性


然后在RootViewController.m中重写了方法

在AppController.m中创建旋转方法

然后jsb调用的时候报错

这咋整啊···麻烦老哥了···

这个值改为YES

还是一样的报错

你一开始的orientationMask和orientation要和你勾选的值一样,就像这样

这个两个属性初始化了的···
这个函数也改成return YES了


但···还是报错