TextField和EditBox的 区别

   TextField和EditBox的 区别

TextField:

先添加头文件:

#include "cocostudio/CocoStudio.h"

#include "ui/CocosGUI.h"

USING_NS_CC;

using namespace cocostudio::timeline;

using namespace cocos2d::ui;

 

先从cocosstdio中添加一个TextField然后导出csb文件,然后从文件中找出来。

 

auto rootNode = CSLoader::createNode("MainScene.csb");

 

    addChild(rootNode);

 

//**********************************************************************

auto s = dynamic_cast<Sprite*>(rootNode->getChildByName("Default"));

 

s->setVisible(false);

 

text = dynamic_cast<TextField*>(rootNode->getChildByName("TextField_2"));

 

text->addEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent, this));

 

回调函数要有参数:

void HelloWorld::textFieldEvent(Ref * pSender, TextField::EventType type)

{

log("别摸我");

}

这种形式的编辑框,你鼠标点击上去是没有任何反应的,但是你点击之后再键盘输入的话。是可以输入的,不要以为没有反应,开始被欺骗了半天。

           

 

      

 

 

 

EditBox:

这种编辑框就是可以弹出输入框的那一种,比较容易辨别,使用方法也很简单。

cocos2d::Size size;// = Director::getInstance()->getWinSize();

size.width = 1000;

size.height = 500;

EditBox* stg = EditBox::create(size / 10, "frame.png", TextureResType::LOCAL);

stg->setPosition(Point(550,50));

addChild(stg);

 

         TextField和EditBox的 区别_第1张图片    

 

这种也是比较好用的一种编辑框,还是九宫格的,再这里先记录一下他们二个的区别,防止以后找不到方法,网上乱找。

你可能感兴趣的:(TextField和EditBox的 区别)