因為開發編輯器遇到這個問題 輸入id的輸入框要限制不能輸入文字
順手改了下 有需要的可以參考, 具體只加入一個callback 少少幾行
CCTextFieldTTF.h
public:加入
void setFilterInsertTextCB(const std::function<bool(std::string now, std::string insert)>& callback) { _filterInsertTextCB = callback; } //user-defined filtering
private:加入
std::function<bool(std::string now, std::string insert)> _filterInsertTextCB = nullptr;
CCTextFieldTTF.cpp
TextFieldTTF::TextFieldTTF() 添加
, _filterInsertTextCB(nullptr)
void TextFieldTTF::insertText(const char* text, size_t len)查找 if(len >0)在下面加入
if (len > 0)
{
if (_filterInsertTextCB && !_filterInsertTextCB(_inputText, insert))//user-defined filtering
return;
完成, 如此就可以為輸入的文字做一個自定義的過濾 看是regular expression或簡單的字元判斷