Unity的软键盘输入框在IphoneX上第一次打开时,有一半会飞到屏幕外面,研究后发现是因为软键盘输入框在计算高度时候没将整个游戏的frame的偏移设置进去,而第一次打开输入框的时候偏移较大,所以飞到界面外面了。
知道问题了就好办了,打开Unity导出的IOS工程的Class/UI/Kayboard.mm文件,找到里面的positionInput方法,将
editView.frame = CGRectMake(0, y - kToolBarHeight, kbRect.size.width, kToolBarHeight);
替换为
editView.frame = CGRectMake(0, y - kToolBarHeight - [UnityGetGLView() frame].origin.y, kbRect.size.width, kToolBarHeight);
即可解决。
可直接下载该文件替换:https://download.csdn.net/download/yhjsspz/12021727
来源:CSDN
作者:yhjsspz
链接:https://blog.csdn.net/yhjsspz/article/details/103461033