Cocos2d-x3.3Final(12)TextField常用成员函数(C++)

TextField * textField = TextField::create("input words here", "Arial", 30);

textField->setPosition(Vec2(widgetSize.width / 2.0f, widgetSize.height / 2.0f));

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

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

{

switch (type)

{

case TextField::EventType::ATTACH_WITH_IME:

{

TextField * textField = dynamic_cast<TextField*>(pSender);

Size screenSize = CCDirector::getInstance()->getWinSize();

textField->runAction(CCMoveTo::create(0.225f,  Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f +textField->getContentSize().height / 2.0f)));

_displayValueLabel->setString(String::createWithFormat("attach with IME")->getCString());

textField->setMaxLengthEnabled(true); //设置允许最大数目限制

textField->setMaxLength(3);
//设置最大允许数目为3

textField->setPasswordEnabled(true);
//设置可设置为密码模式

textField->setPasswordStyleText("*");
//设置密码的遮挡字符为*

textField->setPlaceHolder("input text here");
//设置占位符

textField->setPlaceHolderColor(Color4B::GREEN); //设置占位符颜色

textField->setTextColor(Color4B::RED);

//如果要设置自动换行

textField->ignoreContentAdaptWithSize(false);
//(必须要有的代码)此处为false,如果为true, 则不管setContentSize为何大小,该控件只使用getVirtualRendererSize()这个函数返回的Size大小

((Label*)(textField->getVirtualRenderer()))->setLineBreakWithoutSpace(true);
///(必须要走的最关键代码)

textField->setContentSize(Size(240, 170));
//(必须要有的代码)

textField->setTextHorizontalAlignment(TextHAlignment::LEFT);
//设置文字在水平方向的对齐方式

textField->setTextVerticalAlignment(TextVAlignment::TOP);
//设置文字在垂直方向的对齐方式

//对齐方式setTextHorizontalAlignment我们可以这么理解,LEFT就是整行文字靠着左边对齐,RIGHT就是整行文字靠着右边对齐,

//对齐方式setTextVerticalAlignment我们可以这么理解,TOP就是你整篇文字靠着顶部对齐,反之BOTTOM就是整篇文字靠着底部对齐

textField->getVirtualRendererSize();
//可以获取它的实际大小

((Label*)(textField->getVirtualRenderer()))->setLineBreakWithoutSpace(true);
//为true,内容超过width,会自动换行

}

break;

case TextField::EventType::DETACH_WITH_IME:

{

TextField * textField = dynamic_cast<TextField*>(pSender);

Size screenSize = CCDirector::getInstance()->getWInSize();

textField->runAction(CCMoveTo::create(0.225f, Vec2(screenSize.width / 2.0f, screenSize.height / 2.0f));

}

break;

case TextField::EventType::INSERT_TEXT:

break;

case TextField::EventType::DELETE_BACKWARD:

break;

}

时间: 2024-10-12 19:40:21

Cocos2d-x3.3Final(12)TextField常用成员函数(C++)的相关文章

string 类操作的重载实现及其提供的其他常用成员函数

目录 1,string 类操作的重载实现 2,String类提供的其他常用成员函数 @ 1,string 类操作的重载实现 /* string 类操作的重载实现 */ class CMyString { public: CMyString(char *ptr = NULL) { if (ptr == NULL) { mpStr = new char[1]; *mpStr = '\0'; } else { mpStr = new char[strlen(ptr) + 1]; strcpy(mpSt

Cocos2d-x3.3Final(3) Button常用成员函数(C++)

Button * button = Button::create("cocosui/animationbuttonnormal.png"); //新建按钮 Button* button = Button::create("cocosui/button.png", "cocosui/buttonHighlighted.png"); //新建按钮 button->addTouchEventListener(CC_CALLBACK_2(UIBut

Cocos2d-x3.3Final(1) ListView常用成员函数(C++)

ListView listView = ListView::create(); --创建列表 listView->setDirection(ui::ScrollView::Direction::VERTICAL); --设置列表方向 listView->setBounceEnabled(true); --设置弹力 listView->setBackGroundImage("cocosui/green_edit.png"); --设置背景图片 listView->

Cocos2d-x3.3Final(7)Focus常用成员函数(C++)

主要函数有 _horizontalLayout->setFocused(true);//设置焦点聚焦在该布局上 _horizontalLayout->setLoopFocus(true);//在该布局内循环设置焦点 _horizontalLayout->setFocusEnabled();//设置该控件上聚焦 _horizontalLayout->isFocusEnabled();//是否可以聚焦 这里说明几点特殊情况 VBox创建的布局,如果isLoopFocus(true);即

Cocos2d-x3.3Final(5)LoadingBar常用成员函数(C++)

loadingbar就是进度条,如果要实现进度条的滑动,我们必须要实现update函数例如: void HelloWorld::update(float delta) { _count++; if (_count > 100) _count = 0; LoadingBar * loadingBar = static_cast<LoadingBar *>(getChildByTag(0)); loadingBar->setPercent(_count); //设置进度条的位置 } 除

Cocos2d-x3.3Final(6)Slider常用成员函数(C++)

滑动栏: Slider * slider = Slider::create(); slider->loadBarTexture("sliderTrack.png");//设置滑动栏的背景图片 slider->loadSlidBallTextures("sliderThumb.png", "sliderThumb.png", ""); //滑动栏的滑动按钮图片 slider->loadProgressBarTe

Cocos2d-x3.3Final(4) ImageView常用成员函数(C++)

说明这个系列只是提供函数的熟悉和方便查找,实在没什么技术含量- - ImageView * imageView = ImageView::create("cocosui/ccicon.png");//新建图片 imageView->setScale9Enabled(true); //是否启用九宫格显示模式 imageViewChild->setSizeType(Widget::SizeType::PERCENT);//设置大小类型 imageViewChild->se

Cocos2d-x3.3Final(11)TextBMFont常用成员函数(C++)

TextBMFont:来自http://www.cocos2d-x.org/wiki/Widget的释义,In addition to UILabelAtlas, you can also display a label by UILabelBMFont. 显然这两个是都是可以显示一个标签的另外一个控件,和TextAtlas一样,但显然这两个有不同. TextBMFont * textBMFont = TextBMFont::create("BMFont",  "cocosu

Cocos2d-x3.3Final(10)TextAtlas常用成员函数(C++)

TextAtlas  //来自于官网 http://www.cocos2d-x.org/wiki/Widget的释义, UILabelAtlas can display number label that jointed by images: atlas的英文含义是地图集,所以释义可以解释为可以显示由图片组合而成的数字标签的标签地图集. TextAtlas * textAtlas = TextAtlas::create("12780", "cocosui/labelatlas