native怎么横竖屏转换?紧急求救。

我是在ios上做的实验,就是进入app的时候是竖屏,在某些情况需要变成横屏,有没有真正实践过的朋友说说做法?最粗略的做法我试验过了,大致就是平台层实现一个屏幕旋转函数,确实能看到屏幕旋转了,然后js层调用了cc.view.setOrientation函数,感觉触摸什么的都是错乱的,显示也有些问题。调用cc.view.setFrameSize效果有变化,但也是错误的。急求有经验的大佬给出正确做法。

补充下呢,主要代码如下:
ss.Action.setAppOrientation(orientation); //自己封装的函数,就是让ios屏幕旋转
cc.view.setOrientation(cocosOrientation);
let w = cc.view.getFrameSize().width;
let h = cc.view.getFrameSize().height;
cc.view.setFrameSize(h,w);

这样做的效果是,确实可以横屏显示了,但是整体往右偏移了很多,差不多400像素,点击触摸都是对了。

设置下这个呢,cc.view.setDesignResolutionSize

[quote=“23661666, post:2, topic:79502”]
实可以横屏显示了,但是整体往右偏移了很
[/quote]mark

跟这个没关系,我试过的,尺寸都是对的,是坐标整体往右边偏移了而已。只是偏移的量我没找出规律到底和什么有关系,我用ipad和iphone这个偏移量是不一样的,一个是474,一个是1000,我研究半天数据,也没看出来关系。

cc.view.setOrientation(cc.macro.ORIENTATION_PORTRAIT);//设置屏幕方向(竖)
cc.view.setOrientation(cc.macro.ORIENTATION_LANDSCAPE);//设置屏幕方向(横)

你调用了原生的屏幕方向没?我们以前就是这么搞得 1,调用原生横竖屏,2.设置setFrameSize,3setDesignResolutionSize

调了,难道和引擎版本有关系,之前搜到些文章提到后面较新的版本反而有问题了。

调用了的,放心,肯定不会连这么基础的东西都没试过,我已经把能试的都试了。

https://forum.cocos.com/t/2-0-9-cc-view-setframesize-native/75245
看下这个帖子