CCEditbox对象添加到某个layer,当layer移动时候,editbox输入状态下输入光标保持在原位,看起来就是光标发生了偏移
如果开始时添加的editbox不在屏幕内的话,光标会出现在屏幕边缘
参看了一下这篇文章
http://www.cnblogs.com/lan0725/p/3210963.html
输入光标的位置"只在setPosition 和 onEnter 两个方法里边调用"
既然这样的话只需要在began的时候加入设置位置的方法即可
local pointX =
local pointY =
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()
pEditBox:setFontColor(ccc3(,,))
pEditBox:setPlaceHolder() --默认数值
pEditBox:setPlaceholderFontColor(ccc3(,,))
pEditBox:setMaxLength()
pEditBox:setReturnType(kKeyboardReturnTypeDone)
--Handler
pEditBox:registerScriptEditBoxHandler(editBoxTextEventHandle)
layer:addChild(pEditBox)