cocos2d-x 之UITextField的使用

  本文使用的是cocos2d-x 2.1.6版本,cocosstudio1.6.0.0版本。其调用的相关代码如下:

bool HelloWorld::init()
{
     // ...
     UILayout* pWidget = dynamic_cast<UILayout*>(GUIReader::shareReader()->widgetFromJsonFile("ui/UILogin.json"));
     // 获取控件
     UITextField* pLoginAccount = dynamic_cast<UITextField*>(m_pUILayer->getWidgetByName("TextField_Account"));
     // 注册事件
     pLoginAccount->addEventListenerTextField(this, textfieldeventselector(HelloWorld::textFieldEvent));
}
void HelloWorld::textFieldEvent(CCObject *pSender, TextFiledEventType type)
{
    switch (type)
    {
        case TEXTFIELD_EVENT_ATTACH_WITH_IME: Cbreak;
        case TEXTFIELD_EVENT_DETACH_WITH_IME: break;
        case TEXTFIELD_EVENT_INSERT_TEXT: break;
        case TEXTFIELD_EVENT_DELETE_BACKWARD: break;
        default: break;
    }
}

不过接下来要说的是一些其他的接口,比如:

class CC_EX_DLL TextField : public Widget
{   
public:
   // 设置TextField的触摸范围
    void setTouchSize(const CCSize &size);
   // 获取TextField的触摸范围    
    CCSize getTouchSize();
    // 设置是否打开触摸
    void setTouchAreaEnabled(bool enable);
    // 设置输入框文本
    void setText(const std::string& text);
   // 设置默认显示文本
    void setPlaceHolder(const std::string& value);
   // 获取默认显示文本
    const char* getPlaceHolder();
   // 设置字体大小
    void setFontSize(int size);
   // 获取字体大小
    int getFontSize();
   // 设置字体格式
    void setFontName(const std::string& name);
   // 获取字体格式
    const char* getFontName();
   // 获取输入框文本
    const char* getStringValue();
    // 设置是否限制最大输入字数,true表示限制
    void setMaxLengthEnabled(bool enable);
   // 判断是否限制最大输入字数
    bool isMaxLengthEnabled();
   // 设置输入字数长度
    void setMaxLength(int length);
   // 获取输入字数长度
    int getMaxLength();
   // 设置文本格式是否为密码格式,true表示为密码格式
    void setPasswordEnabled(bool enable);
   // 判断文本格式是否为密码格式
    bool isPasswordEnabled();
   // 设置密码格式的文本显示,比如:styleText = "*"
    void setPasswordStyleText(const char* styleText);
   // 获取密码格式文本
    const char* getPasswordStyleText();
    // 回调接口
    void addEventListenerTextField(CCObject* target, SEL_TextFieldEvent selecor);
};

 

假如,我想设定密码文本可显示,直接调用SetPasswordEnablef(false)即可。如果想把密码文本由"*"改为“#”直接调用接口SetPasswordStyleText("#")即可。

posted @ 2016-01-05 23:48  Code~  阅读(944)  评论(0编辑  收藏  举报