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
endlocal 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)
[Quick-x]移动CCEditbox的父对象导致输入框位置偏移问题