6CCEditBox的实现

 

1

继承CCEditBoxDelegate协议;

//开始进入编辑

   

virtual voideditBoxEditingDidBegin(cocos2d::extension::CCEditBox* editBox);

   

//结束编辑

   

virtual voideditBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox);

   

//编辑框文本改变

  

virtual voideditBoxTextChanged(cocos2d::extension::CCEditBox* editBox, conststd::string& text);

   

//当触发return后的回调函数

   

virtual voideditBoxReturn(cocos2d::extension::CCEditBox* editBox);

2

boolHelloWorld::init()

 

{

  

 if ( !CCLayer::init() )

   

{

       

return false;

   

}

   

 

    CCSize size= CCDirector::sharedDirector()->getWinSize();

 

 

    CCScale9Sprite * sacel9SprY =CCScale9Sprite::create("yellow_edit.png");

 

    CCEditBox* box =CCEditBox::create(CCSizeMake(300, 60), sacel9SprY);

 

    //设置编辑框内的文字

 

    box->setText("");

 

    //获取编辑框内的文字

 

   CCLOG("Text:%s",box->getText());

 

    //设置文本的颜色

 

    box->setFontColor(ccc3(255, 0, 0)); 

 

    //当编辑框中没有任何字符的提示

 

    box->setPlaceHolder("请输入帐号");

 

   CCLOG("PlaceHolder:%s",box->getPlaceHolder());;

 

   //最大输入文本长度

 

   box->setMaxLength(10);

 

   CCLOG("Length:%i",box->getMaxLength());

 

 

 

    /**

 

//      kEditBoxInputModeEmailAddr:   开启邮件地址 输入类型键盘

 

//      kEditBoxInputModeNumeric:     开启数字符号 输入类型键盘  

 

//      kEditBoxInputModePhoneNumber: 开启 电话号码 输入类型键盘  

 

//      kEditBoxInputModeUrl:         开启 URL 输入类型键盘    

 

//      kEditBoxInputModeDecimal:     开启数字 输入类型键盘,允许小数点  

 

//      kEditBoxInputModeSingleLine:  开启任何文本的输入键盘,不包括换行

 

//     */

/  

      //设置输入模式

 

    box->setInputMode(kEditBoxInputModeAny);

 

 

 

 

  /**

//      kEditBoxInputFlagPassword:  密码形式输入

 

//      kEditBoxInputFlagSensitive: 敏感数据输入、存储输入方案且预测自动完成

 

//      kEditBoxInputFlagInitialCapsWord: 每个单词首字母大写,并且伴有提示

 

//      kEditBoxInputFlagInitialCapsSentence: 第一句首字母大写,并且伴有提示

 

//     kEditBoxInputFlagInitialCapsAllCharacters: 所有字符自动大写

 

     */

//   

//设置输入类型

 

   box->setInputFlag(kEditBoxInputFlagSensitive);

 

 

 

 

 

    /**

 

//      kKeyboardReturnTypeDefault:  默认使用键盘return 类型

 

//      kKeyboardReturnTypeDone:     默认使用键盘return类型为“Done”字样

 

//      kKeyboardReturnTypeSend:     默认使用键盘return类型为“Send”字样

 

//      kKeyboardReturnTypeSearch:   默认使用键盘return类型为“Search”字样

 

//      kKeyboardReturnTypeGo:       默认使用键盘return类型为“Go”字样

 

    */

//   

//设置返回类型

 

//   box->setReturnType(kKeyboardReturnTypeDone);

 

 

    box->setPosition(ccp(size.width*0.5,220));

 

    addChild(box);

 

 

 

 

    CCScale9Sprite * sacel9SprG =CCScale9Sprite::create("green_edit.png");

 

    CCEditBox* box2 =CCEditBox::create(CCSizeMake(300, 60), sacel9SprG);

 

   box2->setInputFlag(kEditBoxInputFlagPassword);

 

    box2->setReturnType(kKeyboardReturnTypeGo);

 

    box2->setMaxLength(12);

 

    box2->setPlaceHolder("请输入密码");

 

   box2->setPosition(ccp(size.width*0.5,120));

 

    addChild(box2);

   

       

//接口绑定

  

 box2->setDelegate(this);

   

   

return true;

 

}

 

3)协议的实现

//开始进入编辑

 

voidHelloWorld::editBoxEditingDidBegin(cocos2d::extension::CCEditBox* editBox)

{

   

      CCLOG("Start Edit");

 

}

 

 

//结束编辑

 

voidHelloWorld::editBoxEditingDidEnd(cocos2d::extension::CCEditBox* editBox)

{

   

      CCLOG("End Edit");

 

}

 

 

//编辑框文本改变

 

voidHelloWorld::editBoxTextChanged(cocos2d::extension::CCEditBox* editBox, conststd::string& text)

{

   

      CCLOG("TextChanged");

 

}

 

 

//当触发return后的回调函数

 

voidHelloWorld::editBoxReturn(cocos2d::extension::CCEditBox* editBox)

{

   

      CCLOG("editBoxReturn");

 

}