CCEditbox對象添加到某個layer,當layer移動時候,editbox輸入狀態下輸入光標保持在原位,看起來就是光標發生了偏移html
若是開始時添加的editbox不在屏幕內的話,光標會出如今屏幕邊緣lua
參看了一下這篇文章spa
http://www.cnblogs.com/lan0725/p/3210963.htmlcode
輸入光標的位置"只在setPosition 和 onEnter 兩個方法裏邊調用"htm
既然這樣的話只須要在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)