admin 发表于 2021-11-20 11:33:10

创建CCEditBox输入框架实现文本及密码输入

使用CCEditBox需要启用扩展库既extension ,因此需要引入这个空间名
有两种方法, using namespace extension 或 宏定义USING_NS_CC_EXT
在2.2.2版本中,不需要自己再额外引入包及连接器。
但是都需要引入头文件
#include “cocos-ext.h”
CCEditBox 只能单行输入,可以输入明文及密码。自带了4个虚函数及一系列输入时的常用操作函数,并且跨平台实现了各设备下的输入显示效果。
在H文件声明以下函数:
void editBoxEditingDidBegin( CCEditBox *editBox ); //开始时的函数
void editBoxEditingDidEnd( CCEditBox *editBox ); //结束时的函数
void editBoxReturn( CCEditBox *editBox ); //输入完后点击回车时的处理
void editBoxTextChanged( CCEditBox *editBox, const std::string &text ); //文字更改函数
在CPP文件实现这4个方法,可以是空方法。
在需要使用EDITBOX的地方实现以下代码,将其添加到层或某个容器。
CCScale9Sprite* sacel9SprY = CCScale9Sprite::create(“CloseNormal.png”); //创建9宫格自动缩放按钮
CCEditBox* box = CCEditBox::create(CCSizeMake(300, 100), sacel9SprY); //创建输入框,需要参数:巨型,9宫格背景
//设置编辑框内的文字
// box->setText(“xcc”);
//设置位置
box->setPosition(ccp(200,200));
//获取编辑框内的文字
//CCLOG(“Text:%s”,box->getText());
//box->setDelegate(this);
//设置文本的颜色
box->setFontColor(ccc3(255, 0, 0));
//当编辑框中没有任何字符的提示
box->setPlaceHolder(“please insert ur username:”);
//最大输入文本长度
box->setMaxLength(15);
box->setInputMode(kEditBoxInputModeAny); //设置输入键盘模式
// kEditBoxInputModeAny: 开启任何文本的输入键盘,包括换行
// kEditBoxInputModeEmailAddr: 开启 邮件地址 输入类型键盘
// kEditBoxInputModeNumeric: 开启 数字符号 输入类型键盘
// kEditBoxInputModePhoneNumber: 开启 电话号码 输入类型键盘
// kEditBoxInputModeUrl: 开启 URL 输入类型键盘
// kEditBoxInputModeDecimal: 开启 数字 输入类型键盘,允许小数点
// kEditBoxInputModeSingleLine: 开启任何文本的输入键盘,不包括换行
box->setReturnType(kKeyboardReturnTypeDone);
// kKeyboardReturnTypeDefault: 默认使用键盘return 类型
// kKeyboardReturnTypeDone: 默认使用键盘return类型为“Done”字样
// kKeyboardReturnTypeSend: 默认使用键盘return类型为“Send”字样
// kKeyboardReturnTypeSearch: 默认使用键盘return类型为“Search”字样
// kKeyboardReturnTypeGo: 默认使用键盘return类型为“Go”字样
//设置该属性输入密码时为替代符
//box->setInputFlag(kEditBoxInputFlagPassword);
this->addChild(box,5);


页: [1]
查看完整版本: 创建CCEditBox输入框架实现文本及密码输入