CCEditBox实现原理

今天使用了EditBox,记录下几点重要的,可以说是CCEditBox实现原理


1.CCEditBox继承CCControlButton,CCIMEDelegate


2.CCEditBox实现了touchDownAction方法,并在CCEditBox::initWithSizeAndBackgroundSprite方法
调用了this->addTargetWithActionForControlEvent(this,cccontrol_selector(CCEditBox::touchDownAction),CCControlEventTouchUpInside);方法

这个调用很重要,他注册了单击事件,用来打开键盘

3.CCControlButton::ccTouchEnded中调用了sendActionsForControlEvents(CCControlEventTouchUpInside); 方法,将单击事件发送给监听者。

由上面的可以看出,eidtBox接受触摸的方式为CCControlButton处理触摸逻辑,然后根据不同事件发出相应的事件,editBox接收了点击事件(CCControlEventTouchUpInside),弹出键盘


下面附上单击事件的调用栈:

本文转载自我爱1和0

相关文章

操作步骤 1、创建cocos2d-x工程 2、新建 Scene1.cpp Scene1.h Scene1.h代码 #ifndef __SCENE1_H__#defi...
开发环境:OS(WINDOWS 8.1 X64 企业版) cocos2d-x 2.2.1 vs2010 想给vs安装上cocos的模版,执行Install...
把创建项目做成一个批处理,当创建项目时可以省时省力很多。 操作步骤 1、在 E:cocos2d-x-2.2.1toolspr...
https://www.cnblogs.com/JiaoQing/p/3906780.html 四个响应函数 1 EventListenerPhysicsContact* evC...
转载于 http://www.cnblogs.com/kenkofox/p/3926797.html 熟悉js的dom事件或者flash事件的,基本都能立...
ScrollView(滚动容器)加载大量item时会导致游戏界面的卡顿,严重时整个界面会出现卡死的情况。最近项...