cocos2d-lua3.7控件篇(一)-EditBox
【摘要】
一、查看EditBox的C++代码
3.7之前版本的uiinput已经没有了,新版本采用的ccui.EditeBox ,通过添加回调函数的方式实现监听。
我们打开UIEditBox.h查看可以使用的方法。
它为我们提供了两个构造函数:
* create a...
一、查看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
三、使用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)
通过控制台我们就可以查看到了。
文章来源: yujiang.blog.csdn.net,作者:鱼酱2333,版权归原作者所有,如需转载,请联系作者。
原文链接:yujiang.blog.csdn.net/article/details/78708819
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)