3.0正式版,win32下,TextField按下backspace键不能删除内容。
网上搜了下,很早就有的问题了,正式版了竟然还不解决。。。
为了给妹子写个华丽的Wifi共享助手,不得已上了Cocos2d。(呃。。)
输入ssid和key的两个TextField没法用,只好瞎搞,自己研究了一个凑合用的方案。。。
思路就是监听按键事件,调用setText修改内容。。。
上代码吧。。。
auto listener = EventListenerKeyboard::create();
listener->onKeyPressed = CC_CALLBACK_2(HelloWorld::onKeyPressed, this);
```
然后
void HelloWorld::onKeyPressed(EventKeyboard::KeyCode keyCode, Event* event)
{
if (keyCode == EventKeyboard::KeyCode::KEY_BACKSPACE)
{
std::string str = ssid->getStringValue();
ssid->setText(str.substr(0, str.size() - 1));
}
}
```
注意str.size()-1越界判断。我还没写完。。
吐槽一下论坛发帖,忘了输验证码返回内容全没了,打字打了三遍了。。。
过来看看