Cocos2d-x 2.2.2版本CCEditbox 遇到的bug

本文总结了使用Cocos2d-x2.2.2开发过程中遇到的CCEditbox相关bug,包括虚拟键盘弹出导致画面移动、retina屏幕下位置与字体大小不正确、键盘光标停留在初始位置等问题,并提供了相应的解决办法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Cocos2d-x 2.2.2 CCEditbox 遇到的bug

汇总了自己遇到的问题和解决办法,如果有不对的地方,还请大家指正

1.CCEditbox 虚拟键盘弹出的问题

ios8上面自动弹出键盘后,显示的画面左右移动。。


另外此问题在竖屏launch,然后进入横屏的游戏的情况下,可能还有问题
还需要改http://www.cocoachina.com/bbs/read.php?tid-271139.html

2.CCEditbox在retina屏幕上面的bug:位置不对,字体大小不对
CCEditBoxImplIos.h 增加两个变量

bool m_bInRetinamode;
float m_fScaleFactor;

在CCEditBoximplIos.mm里面初始化:

m_fScaleFactor = [[EAGLView sharedEGLView] contentScaleFactor]; 

m_bInRetinaMode = m_fScaleFactor >= 2.0f ? true : false;

这里的2.0是因为一般retina是像素点是分辨率的两倍,plus是3倍

在这个.mm里面 需要把判断retina的2.0的地方,改成取真是的retina比例,然后就是各种算吧









3.CCEditBox 父节点执行action位移后,keyboard 光标停留在初始位置。
等待父节点,执行完毕后,重新设置editBox position。

4.cocos2d-x----- CCEditBox不能对其父容器进行缩放,否则在retina屏下会出现点击后文字很小的问题,原理是对父容器缩放时,CCEditBox包含的iOS输入框并没有缩放,所以点击后真正的输入框回到了缩放前大小。为了解决这个问题,应该把CCEditBox放在一个单独的不可缩放容器里,或者创建CCEditBox时对EditBox的大小进行比例缩放,位置也需要计算按比例来写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值