[Quick-x]移动CCEditbox的父对象导致输入框位置偏移问题

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)

 

posted @ 2014-05-16 10:13  CreeperChange  阅读(1264)  评论(0编辑  收藏  举报