CCEditbox对象添加到某个layer,当layer移动时候,editbox输入状态下输入光标保持在原位,看起来就是光标发生了偏移
如果开始时添加的editbox不在屏幕内的话,光标会出现在屏幕边缘
参看了一下这篇文章
http://www.cnblogs.com/lan0725/p/3210963.html
输入光标的位置"只在setPosition 和 onEnter 两个方法里边调用"
既然这样的话只需要在began的时候加入设置位置的方法即可
local pointX = 100 local pointY = 100 local function editBoxTextEventHandle(strEventName,pSender) local edit = tolua.cast(pSender,"CCEditBox") if strEventName == "began" then edit:setPosition(ccp(pointX, pointY)) --默认 --其他方法 elseif strEventName == "ended" then end end local pEditBox = CCEditBox:create(editBoxSize, CCScale9Sprite:create("green_edit.png")) pEditBox:setPosition(pointX, pointY) pEditBox:setInputMode(kEditBoxInputModePhoneNumber) pEditBox:setFontName("Arial") pEditBox:setFontSize(25) pEditBox:setFontColor(ccc3(255,0,0)) pEditBox:setPlaceHolder(1) --默认数值 pEditBox:setPlaceholderFontColor(ccc3(0,0,255)) pEditBox:setMaxLength(8) pEditBox:setReturnType(kKeyboardReturnTypeDone) --Handler pEditBox:registerScriptEditBoxHandler(editBoxTextEventHandle) layer:addChild(pEditBox)