cocos2d-x 输入框CCTextFieldTTF
1、当前类继承 public cocos2d::CCTextFieldDelegate 实现委托监听
2、在.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);
3、在cpp文件中实现
1)、
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();
2)、头文件监听方法实现
//当用户启动虚拟键盘时的回调函数
bool HelloWorld::onTextFieldAttachWithIME(CCTextFieldTTF *pSender)
{
CCLOG("启动输入");
//return false;
//return true:不启动
}
//当用户关闭虚拟键盘时的回调函数
bool HelloWorld::onTextFieldDetachWithIME(CCTextFieldTTF *pSender)
{
CCLOG("关闭输入");
return false;
//return true:不关闭
}
//当用户进行输入时的回调函数
bool HelloWorld::onTextFieldInsertText(CCTextFieldTTF *pSender,const char *text,int nLen)
{
CCLOG("输入字符...");
return false;
//return true:不会输入进字符
}
//当用户删除文字时的回调函数
bool HelloWorld::onTextFieldDeleteBackward(CCTextFieldTTF *pSender,const char *delText,int nLen)
{
CCLOG("删除字符");
return false;
//return true:不删除
}
4、注意:在win32,不会弹出虚拟键盘,直接在键盘中输入即可。
相关新闻>>
- 发表评论
-
- 最新评论 更多>>