1、CCTextField的实现程序
-
头文件之中
class HelloWorld: public cocos2d::CCLayer, public cocos2d::CCTextFieldDelegate
{
public:
virtual bool init();
static cocos2d::CCScene* scene();
CREATE_FUNC(HelloWorld);
//重写CCTextFieldDelegate的回调函数
//当用户启动虚拟键盘时的回调函数
virtual boolonTextFieldAttachWithIME(CCTextFieldTTF * pSender);
//当用户关闭虚拟键盘时的回调函数
virtual boolonTextFieldDetachWithIME(CCTextFieldTTF * pSender);
//当用户进行输入时的回调函数
virtual boolonTextFieldInsertText(CCTextFieldTTF * pSender, const char * text, int nLen);
//当用户删除文字时的回调函数
virtual boolonTextFieldDeleteBackward(CCTextFieldTTF * pSender, const char * delText, intnLen);
};
(2)实现文件之中
boolHelloWorld::init()
{
if ( !CCLayer::init() )
{
return false;
}
CCSize size =CCDirector::sharedDirector()->getWinSize();
CCTextFieldTTF*textField = CCTextFieldTTF::textFieldWithPlaceHolder("点击输入...", "Helvetica", 24);
textField->setPosition(ccp(size.width*0.5,size.height*0.7));
addChild(textField);
// 绑定接口textField->setDelegate(this);
//开启输入
textField->attachWithIME();
//关闭输入
//textField->detachWithIME();
return true;
}
boolHelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF * pSender)
{
CCLOG("启动输入");
return false;
//return true:不启动
}
boolHelloWorld::onTextFieldDetachWithIME(CCTextFieldTTF * pSender)
{
CCLOG(" 关闭输入 ");return false;
//return true:不关闭
}
boolHelloWorld::onTextFieldInsertText(CCTextFieldTTF * pSender, const char * text,int nLen)
{
CCLOG("输入字符...");
return false;//return true:不会输入进字符
}
boolHelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF * pSender, const char *delText, int nLen)
{
CCLOG("删除字符");
return false;
//return true:不删除
}