cocos creator 在IOS 上输入法导致屏幕被移位,截断,大面积黑屏

cocos creator 打的苹果包,在第一个场景是竖屏,然后第二个场景,切换横屏,当然,不知道和切换横竖屏是否有关系,然后第二个场景有个 editBox ,当点击editBox ,键盘随便编辑下后,点击键盘触碰区域外的其它区域,键盘收回隐藏,这个时候,整个屏幕都给挪到了左下角,而且就看得见部分的UI背景,手机上大部分地方都是纯黑色,不明白是怎么回事,打印了cc.view 下的各个参数,在移位前和移位后,貌似并没有什么数据被改变了,希望大神帮忙解惑一下

旋转屏幕调用的苹果的接口,然后本地做如下代码处理

var width = cc.view.getFrameSize().height > cc.view.getFrameSize().width ?
cc.view.getFrameSize().width : cc.view.getFrameSize().height;
var height = cc.view.getFrameSize().height < cc.view.getFrameSize().width ?
cc.view.getFrameSize().width : cc.view.getFrameSize().height;
cc.view.setFrameSize(width, height);
cc.view.setDesignResolutionSize(720, 1280, cc.ResolutionPolicy.FIXED_HEIGHT);

补充一下,貌似只是渲染的图形位置发生了变化,按钮等的触碰区域还是对的

这是竖屏图

竖屏弹键盘图

横屏图,看上去也没毛病

横屏,点击空的editBox ,看上去,已经炸了。。。

大结局

能否给一下 demo 呢?还有其实不需要另外帖子在发一次,有空看到了会进行回复你的,

ios上 键盘输入 还有2个问题

  1. editBox初始状态editBox.inputFlag == _ccsg.EditBox.InputFlag.PASSWORD
    然后程序将其修改为
    editBox._sgNode.inputFlag = editBox.inputFlag =
    _ccsg.EditBox.InputFlag.DEFAULT;
    当在输入密码过程中 依然看不到密码
    等键盘收回去之后 才会 转换成明文密码.

  2. 键盘弹出后 界面会整体上移,但是点击区域依然没变, 导致这时候点击屏幕 会误点到按钮

谢谢回复,我等会整理一个 简单的demo ,发给你们帮我看看,谢谢

啥?如果有问题可以发一下 demo

像这种 肯定会复现的问题 也要提供demo吗
直接检查代码 都能发现问题的吧

为何要提供 demo 因为是有时候描述的不是很清楚,直接给 demo 可以省很多时间(不然每次都要一直引导用户一问一答,到最后才能确定到最终实际问题,不如直接给 demo 来的快捷)

键盘弹出后 界面会整体上移,但是点击区域依然没变, 导致这时候点击屏幕 会误点到按钮

你是什么版本的,最新的吗?之前有修复过这种问题?

我是 1.6.0-beta.6.2 哪个版本修复的
这是demo, 运行scene1 在ios设备运行,
运行起来之后 点击 显示密码 , 然后输密码 发现, 显示的还是密文


BugDemo.zip (524.6 KB)

https://github.com/cocos-creator/cocos2d-x-lite/pull/854 看看这个

windows 的会出现该问题吗?我刚刚测试了 web 跟 windows 的模拟器,都是能正常显示的(我在测试一下 ios 的看看)

只有ios有, 当键盘 消失后 密码才会变成明文, 输入过程中 一直都是密文

嗯,我现在在用 IOS 测试,会尽快修复的

ok 如果修复的话 在这里 说下 怎么修复的吧, 我们估计 赶不上 新版本了