cocos2d-lua3.7控件篇(一)-EditBox

一、查看EditBox的C++代码

3.7之前版本的uiinput已经没有了,新版本采用的ccui.EditeBox ,通过添加回调函数的方式实现监听。

我们打开UIEditBox.h查看可以使用的方法。

它为我们提供了两个构造函数:

             * create a edit box with size.
             * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
             */
            static EditBox* create(const Size& size,
                                   Scale9Sprite* normalSprite,
                                   Scale9Sprite* pressedSprite = nullptr,
                                   Scale9Sprite* disabledSprite = nullptr);

            
            /**
             * create a edit box with size.
             * @return An autorelease pointer of EditBox, you don't need to release it only if you retain it again.
             */
            static EditBox* create(const Size& size,
                                   const std::string& pNormal9SpriteBg,
                                   TextureResType texType = TextureResType::LOCAL);

二、分析EditBox基本实现

如果仔细分析可以看到,各个平台都实现了自己的editBox,他们都继承并且实现了UIEditBoxImpl

cocos2d-lua3.7控件篇(一)-EditBox

三、使用EditBox

我们如何使用呢?首先自己找个loading-bg.png图片,然后

如下代码

 local editbox = ccui.EditBox:create(cc.size(200,40),"loading-bg.png",ccui.TextureResType.localType)
 editbox:setPosition(100,100)
  self:addChild(editbox)
  local function editboxEventHandler(eventType)
        print(eventType)
      if eventType == "began" then
          -- triggered when an edit box gains focus after keyboard is shown
         
      elseif eventType == "ended" then
          -- triggered when an edit box loses focus after keyboard is hidden.
      elseif eventType == "changed" then
          -- triggered when the edit box text was changed.
      elseif eventType == "return" then
          -- triggered when the return button was pressed or the outside area of keyboard was touched.
      end
  end

  editbox:registerScriptEditBoxHandler(editboxEventHandler)

通过控制台我们就可以查看到了。

cocos2d-lua3.7控件篇(一)-EditBox

原文链接: https://www.cnblogs.com/hiwoshixiaoyu/p/10034958.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    cocos2d-lua3.7控件篇(一)-EditBox

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/264670

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月14日 下午4:43
下一篇 2023年2月14日 下午4:44

相关推荐