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)

 

相关文章:

  • 2022-12-23
  • 2021-11-05
  • 2022-12-23
  • 2021-09-11
  • 2022-01-09
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2021-11-10
  • 2022-12-23
  • 2021-05-23
  • 2021-09-03
  • 2022-02-21
  • 2022-12-23
  • 2021-07-12
相关资源
相似解决方案