cocos2dx输入框CCTextFieldTTF
CCSize winSize =CCDirector::sharedDirector()->getWinSize(); CCTextFieldTTF * textfield = CCTextFieldTTF::textFieldWithPlaceHolder("点击输入", "Thonburi",20); textfield->setPosition(ccp(winSize.width *0.5, winSize.height*0.5)); addChild(textfield); // 绑定接口 textfield->setDelegate(this); //开启输入 textfield->attachWithIME(); // 关闭输入 // textfield->detachWithIME();
bool HelloWorld:: onTextFieldAttachWithIME(CCTextFieldTTF * sender) { CCLOG("启动输入"); return false; // return true;(不启动) } // 当用户关闭虚拟键盘的时候回调函数 bool HelloWorld:: onTextFieldDetachWithIME(CCTextFieldTTF * sender) { CCLOG("关闭输入"); return false; // return true;(不关闭) } // 当用户进行输入 虚拟键盘的时候回调函数 bool HelloWorld:: onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen) { CCLOG("输入字符"); return false; // return true;(不输入) } // 当用户进行删除文字 虚拟键盘的时候回调函数 bool HelloWorld:: onTextFieldDeleteBackward(CCTextFieldTTF * sender, const char * delText, int nLen) { CCLOG("删除字符"); return false; // return true;(不删除) }
以上是 .cpp
.h
// 重写CCTextFieldDelegate的回调函数 // 当用户启动虚拟键盘的时候回调函数 // 要有输出口 virtual bool onTextFieldAttachWithIME(CCTextFieldTTF * sender); // 当用户关闭虚拟键盘的时候回调函数 virtual bool onTextFieldDetachWithIME(CCTextFieldTTF * sender); // 当用户进行输入 虚拟键盘的时候回调函数 virtual bool onTextFieldInsertText(CCTextFieldTTF * sender, const char * text, int nLen); // 当用户进行删除文字 虚拟键盘的时候回调函数 virtual bool onTextFieldDeleteBackward(CCTextFieldTTF * sender, const char * delText, int nLen);