今天测试游戏的时候,发现在 ios 上,输入框显示位置不对。于是开始查找问题。
检查了一遍 lua 代码,没有发现问题,找 ios 调试了一下,找一下调用过程。
首先,lua 添加一个输入框,将输入框的宽高通过 luaoc.callStaticMethod
传给 ios。ios 再根据键盘高度,返回给 lua 位置比例,lua 再去调整输入框位置。
根据流程,打印了一下关键数据,并没有发现什么问题。调整了一下 lua 的布局也没有解决问题。为了验证是哪一方的问题,我将游戏包重新编译到另外一个马甲包里面,发现在那个上面运行正常。这样就能确定是 ios 这边有问题。
再跟 ios 仔细比对了一遍错误现象之后,发现是弹出输入法的时候,界面整体上移了,这样输入框被移动了两次位置。检查了一遍 ios 的代码,发现 ios 中引用了一个第三方库,里面有控制布局的方法,于是将库删之,再运行,完美。
这个 bug 比较难找,思路上首先要确定是哪一方的问题,再根据现象或者打印日志来解决问题。