5.9.9UITextField
来源:互联网 发布:生命周期分析软件 编辑:程序博客网 时间:2024/05/09 03:52
按return之后还能弹出键盘,若按键盘右下角的图形则不能弹出键盘,为什么会这样,是不是BUG
// textField->setDetachWithIME(true);
// textField->attachWithIME();
//CCEGLView * pGlView = CCDirector::sharedDirector()->getOpenGLView();
// pGlView->setIMEKeyboardState(true);
attach/ə'tætʃ/ 系上;贴上,附加;附属;伴随
detach /dɪ'tætʃ/ vt. 分离;派遣;使超然
Backward/'bækwəd/向后的;反向的,相反地;向后地,
// 打开输入法
void
openIME();
// 关闭输入法
void
closeIME();
UITextField的原型是CCTextFieldTTF,和前面提到的CCEditBox功能差不多,都是一个文本输入框,它提供的函数,我们一般制作用户登录界面基本可以满足
有时间看看 class CC_GUI_DLL UICCTextField:publicTextFieldTTF,publicTextFieldDelegate
voidsetTouchSize(constSize &size);//设置触摸区域大小******
voidsetPlaceHolder(conststd::string& value);//设置没有输入内容时的提示文本******
voidsetFontSize(int size);//设置输入框文本字体大小******
voidsetFontName(conststd::string& name);//设置输入框文本字体格式******
voidsetString(conststd::string& text);//******
conststd::string& getString()const;//获取输入框中的文字内容******
voidsetMaxLengthEnabled(bool enable);//设置是否开启文字内容最大长度限制******
boolisMaxLengthEnabled()const;//设置文字内容最大长度,需要配 合setMaxLengthEnabled使用******
voidsetPasswordEnabled(bool enable);//设置是否开启密码文字格式******
voidsetPasswordStyleText(constchar* styleText);//设置密码格式,默认格式“*”
voidaddEventListener(constccTextFieldCallback& callback);//添加输入框事件监听******
enum class EventType
{
ATTACH_WITH_IME,
DETACH_WITH_IME,
INSERT_TEXT,
DELETE_BACKWARD,
{
ATTACH_WITH_IME,
DETACH_WITH_IME,
INSERT_TEXT,
DELETE_BACKWARD,
};
typedef std::function<void(Ref*,EventType)> ccTextFieldCallback;
TextField();
virtual ~TextField();
static TextField* create();
static TextField* create(conststd::string& placeholder,
const std::string& fontName,
int fontSize);
TextField();
virtual ~TextField();
static TextField* create();
static TextField* create(conststd::string& placeholder,
const std::string& fontName,
int fontSize);
void setTouchSize(constSize &size);//设置触摸区域大小******
Size getTouchSize()const;
void setTouchAreaEnabled(boolenable);
virtual bool hitTest(constVec2&pt);
void setTouchAreaEnabled(boolenable);
virtual bool hitTest(constVec2&pt);
void setPlaceHolder(conststd::string& value);//设置没有输入内容时的提示文本******
const std::string& getPlaceHolder()const;
const Color4B& getPlaceHolderColor()const;
void setPlaceHolderColor(constColor3B& color);
void setPlaceHolderColor(constColor4B& color);
void setTextColor(constColor4B& textColor);
const Color4B& getPlaceHolderColor()const;
void setPlaceHolderColor(constColor3B& color);
void setPlaceHolderColor(constColor4B& color);
void setTextColor(constColor4B& textColor);
void setFontSize(int size);//设置输入框文本字体大小******
int getFontSize()const;
void setFontName(conststd::string& name);//设置输入框文本字体格式******
const std::string& getFontName()const;
virtual void didNotSelectSelf();
CC_DEPRECATED_ATTRIBUTE void setText(conststd::string& text){this->setString(text);}
CC_DEPRECATED_ATTRIBUTE const std::string& getStringValue()const{returnthis->getString();}
virtual void didNotSelectSelf();
CC_DEPRECATED_ATTRIBUTE void setText(conststd::string& text){this->setString(text);}
CC_DEPRECATED_ATTRIBUTE const std::string& getStringValue()const{returnthis->getString();}
void setString(conststd::string& text);//******
const std::string& getString()const;//获取输入框中的文字内容******
virtual bool onTouchBegan(Touch*touch, Event *unusedEvent) override;
void setMaxLengthEnabled(bool enable);//设置是否开启文字内容最大长度限制******
bool isMaxLengthEnabled()const;//设置文字内容最大长度,需要配合setMaxLengthEnabled使用******
void setMaxLength(intlength);
int getMaxLength()const;
int getMaxLength()const;
int getStringLength() const;
void setPasswordEnabled(bool enable);//设置是否开启密码文字格式******
bool isPasswordEnabled()const;
void setPasswordStyleText(constchar* styleText);//设置密码格式,默认格式“*”
const char* getPasswordStyleText()const;
virtual void update(floatdt) override;
bool getAttachWithIME()const;
void setAttachWithIME(boolattach);
bool getDetachWithIME()const;
void setDetachWithIME(booldetach);
bool getInsertText()const;
void setInsertText(boolinsertText);
bool getDeleteBackward()const;
virtual void update(floatdt) override;
bool getAttachWithIME()const;
void setAttachWithIME(boolattach);
bool getDetachWithIME()const;
void setDetachWithIME(booldetach);
bool getInsertText()const;
void setInsertText(boolinsertText);
bool getDeleteBackward()const;
void setDeleteBackward(booldeleteBackward);
void addEventListener(constccTextFieldCallback& callback);//添加输入框事件监听******
virtual std::stringgetDescription() const override;
void attachWithIME();
virtual void onEnter() override;
void setTextAreaSize(constSize&size);
void setTextHorizontalAlignment(TextHAlignmentalignment);
void setTextVerticalAlignment(TextVAlignmentalignment);
virtual void onEnter() override;
void setTextAreaSize(constSize&size);
void setTextHorizontalAlignment(TextHAlignmentalignment);
void setTextVerticalAlignment(TextVAlignmentalignment);
protected:
void attachWithIMEEvent();
void detachWithIMEEvent();
void insertTextEvent();
void deleteBackwardEvent();
void insertTextEvent();
void deleteBackwardEvent();
virtual void onSizeChanged() override;
virtual Widget* createCloneInstance() override;
virtual void copySpecialProperties(Widget* model) override;
#include"ui/CocosGUI.h"//******
usingnamespacecocos2d::ui;
void textFieldEvent(Ref* pSender,TextField::EventTypetype);
private:
Size size;
Size size;
Text* label;
#include"ui/CocosGUI.h"//******
usingnamespacecocos2d::ui;
size= Director::getInstance()->getWinSize();
//用于显示进度条的后背景
label= Text::create();
label->setString("No Event");
label->setFontName("fonts/Marker Felt.ttf");
label->setFontSize(25);
label->setPosition(Vec2(size.width/2,size.height*0.7));
addChild(label);
//添加一个Imageview用语输入框背景
auto iv = ImageView::create();
iv->loadTexture("green_edit.png");
iv->setSize(Size(250,50));
iv->setScale9Enabled(true);
iv->setPosition(Vec2(size.width/2,size.height/2));
addChild(iv);
auto textField = TextField::create();
textField->setTouchEnabled(true);
textField->setFontName("fonts/Marker Felt.ttf");
textField->setFontSize(20);
//设置文本提示
textField->setPlaceHolder("tap to input");
textField->setPosition(Vec2(size.width/2,size.height/2));
textField->addEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent,this));
//输入文字最大长度限制
textField->setMaxLength(15);
textField->setMaxLengthEnabled(true);
addChild(textField);
//设置密码内容隐藏
textField->setPasswordEnabled(true);
//用于显示进度条的后背景
label= Text::create();
label->setString("No Event");
label->setFontName("fonts/Marker Felt.ttf");
label->setFontSize(25);
label->setPosition(Vec2(size.width/2,size.height*0.7));
addChild(label);
//添加一个Imageview用语输入框背景
auto iv = ImageView::create();
iv->loadTexture("green_edit.png");
iv->setSize(Size(250,50));
iv->setScale9Enabled(true);
iv->setPosition(Vec2(size.width/2,size.height/2));
addChild(iv);
auto textField = TextField::create();
textField->setTouchEnabled(true);
textField->setFontName("fonts/Marker Felt.ttf");
textField->setFontSize(20);
//设置文本提示
textField->setPlaceHolder("tap to input");
textField->setPosition(Vec2(size.width/2,size.height/2));
textField->addEventListener(CC_CALLBACK_2(HelloWorld::textFieldEvent,this));
//输入文字最大长度限制
textField->setMaxLength(15);
textField->setMaxLengthEnabled(true);
addChild(textField);
//设置密码内容隐藏
textField->setPasswordEnabled(true);
textField->setPasswordStyleText("-");
voidHelloWorld::textFieldEvent(Ref* pSender,TextField::EventTypetype){
TextField* textField = (TextField*)pSender;
switch (type) {
case TextField::EventType::ATTACH_WITH_IME:
label->setString(String::createWithFormat("attach with IME")->getCString());
break;
case TextField::EventType::DETACH_WITH_IME:
label->setString(String::createWithFormat("detach with IME")->getCString());
CCLOG("%s",textField->getString().c_str());
break;
case TextField::EventType::INSERT_TEXT:
label->setString(__String::createWithFormat("insert words")->getCString());
break;
case TextField::EventType::DELETE_BACKWARD:
label->setString(__String::createWithFormat("delete word")->getCString());
break;
TextField* textField = (TextField*)pSender;
switch (type) {
case TextField::EventType::ATTACH_WITH_IME:
label->setString(String::createWithFormat("attach with IME")->getCString());
break;
case TextField::EventType::DETACH_WITH_IME:
label->setString(String::createWithFormat("detach with IME")->getCString());
CCLOG("%s",textField->getString().c_str());
break;
case TextField::EventType::INSERT_TEXT:
label->setString(__String::createWithFormat("insert words")->getCString());
break;
case TextField::EventType::DELETE_BACKWARD:
label->setString(__String::createWithFormat("delete word")->getCString());
break;
}
}
0 0
- 5.9.9UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- UITextField
- “全员编程,广泛嵌入”(四)—— 物联网时代(二)
- canny边缘提取之三 双阈值计算 matlab中edge(I,'canny')函数中sselectThresholds()函数的C++转换
- 第九周项目4——我的向量类
- [学习笔记]Java集合框架之List集合
- 被骂的收获——沟通体会20150513
- 5.9.9UITextField
- oracle升级至10.2.0.5.0
- Http编程之HttpURLConnection
- 5.9.10UIScrollView
- WCF系列_分布式事务(下)
- [LeetCode]Median of Two Sorted Arrays
- JSON和OC之间对象的转换
- C# winForm中主窗体Form获取弹出窗体的中值最简单方法
- Handler