#ifndef __CCEditBoxIMPLIOS_H__

#define __CCEditBoxIMPLIOS_H__

#include "cocos2d.h"

#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)

#include "ExtensionMacros.h"

#include "CCEditBoxImpl.h"

#import <Foundation/Foundation.h>

#import <UIKit/UIKit.h>

@interface CustomUITextField : UITextField

{

}

@end

@interface EditBoxImplIOS : NSObject <UITextFieldDelegate>

{

CustomUITextField* textField_;

void* editBox_;

BOOL editState_;

}

@property(nonatomic, retain) UITextField* textField;

@property(nonatomic, readonly, getter = isEditState) BOOL editState;

@property(nonatomic, assign) void* editBox;

-(id) initWithFrame: (CGRect) frameRect editBox: (void*) editBox;

-(void) doAnimationWhenKeyboardMoveWithDuration:(float)duration distance:(float)distance;

-(void) setPosition:(CGPoint) pos;

-(void) setContentSize:(CGSize) size;

-(void) visit;

-(void) openKeyboard;

-(void) closeKeyboard;

@end

NS_CC_EXT_BEGIN

class CCEditBox;

class CCEditBoxImplIOS : public CCEditBoxImpl

{

public:

CCEditBoxImplIOS(CCEditBox* pEditText);

virtual ~CCEditBoxImplIOS();

virtual bool initWithSize(const CCSize& size);

virtual void setFont(const char* pFontName, int fontSize);

virtual void setFontColor(const ccColor3B& color);

virtual void setPlaceholderFont(const char* pFontName, int fontSize);

virtual void setPlaceholderFontColor(const ccColor3B& color);

virtual void setInputMode(EditBoxInputMode inputMode);

virtual void setInputFlag(EditBoxInputFlag inputFlag);

virtual void setMaxLength(int maxLength);

virtual int  getMaxLength();

virtual void setReturnType(KeyboardReturnType returnType);

virtual bool isEditing();

virtual void setText(const char* pText);

virtual const char* getText(void);

virtual void setPlaceHolder(const char* pText);

virtual void setPosition(const CCPoint& pos);

virtual void setVisible(bool visible);

virtual void setContentSize(const CCSize& size);

virtual void setAnchorPoint(const CCPoint& anchorPoint);

virtual void visit(void);

virtual void onEnter(void);

virtual void doAnimationWhenKeyboardMove(float duration, float distance);

virtual void openKeyboard();

virtual void closeKeyboard();

virtual void onEndEditing();

private:

voidinitInactiveLabels(const CCSize& size);

voidsetInactiveText(const char* pText);

voidadjustTextFieldPosition();

void            placeInactiveLabels();

CCLabelTTF*     m_pLabel;

CCLabelTTF*     m_pLabelPlaceHolder;

CCSize          m_tContentSize;

CCPoint         m_obPosition;

CCPoint         m_obAnchorPoint;

EditBoxImplIOS* m_systemControl;

int             m_nMaxTextLength;

bool            m_bInRetinaMode;

};

NS_CC_EXT_END

#endif /* #if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS) */

#endif /* __CCEditBoxIMPLIOS_H__ */

CCEditBox/CCEditBoxImplIOS的更多相关文章

  1. cocos2d-x CCEditBox 字符不能显示完全的bug

    cocos2d-x CCEditBox 字符不能显示完全的bug (cocos2dx版本 2.2.0)用CCEditBox制作帐号输入框,当输入的内容超过框的宽度时,框里面不会显示当前输入的字符,显示 ...

  2. 关于cocos2d-x 中 CCEditBox 的输入位置和IOS虚拟键盘位置不重合的bug

    这个文章的名字起的实在是有点长,主要是怕说不清楚. 在IOS上,输入时,我看到过的比较少,就两种,如附件两张图.一个是虚拟键盘的输入框完全是在CCEditBox上,另一张虚拟键盘的输入区域是紧挨着键盘 ...

  3. (转) CCEditBox 编辑框

    CCEditBox 编辑框 原文: http://blog.csdn.net/cloud95/article/details/8773470 分类: cocos2d-x 2013-04-08 19:1 ...

  4. 部分android手机CCEditBox输入之后键盘输入框不消失得问题

    用小米2s做登录界面时,用到CCEditBOx,输入完之后,键盘可以移下去,但是屏幕上还是显示得键盘自己得输入框,这时点击屏幕任何位置都无法把输入框干掉. 为什么ios上就没有这些android得琐碎 ...

  5. cocos2dx注册场景 使用CCEditBox实现输入框

    我们在开始玩一个游戏时,通常要做的第一件事就是注册账号,下面就让我们来制作一个简单的注册场景,我所使用的cocos2dx版本为2.2.2 在这个场景中最主要的元素就是输入框和按钮,我从网上找了一些素材 ...

  6. COCOS2DX2.2.2 创建CCEditBox输入框架实现文本及密码输入

    本文转载于: http://5.quanpao.com/?p=561 使用CCEditBox需要启用扩展库既extension ,因此需要引入这个空间名 有两种方法, using namespace ...

  7. [Quick-x]移动CCEditbox的父对象导致输入框位置偏移问题

    CCEditbox对象添加到某个layer,当layer移动时候,editbox输入状态下输入光标保持在原位,看起来就是光标发生了偏移 如果开始时添加的editbox不在屏幕内的话,光标会出现在屏幕边 ...

  8. Cocos2d-x CCEditBox & CCTextFieldTTF

    下面简单记录一下如何Cocos2d-x中创建输入编辑框.在引擎中为我们提供了这样两个类:CCEditBox  和  CCTextFieldTTF. 一.CCEditBox ①这个类文件的位置 ②这个类 ...

  9. CCEditBox用法

    1.以下是CCEditBox的相关函数和类型说明: /* 编辑框的一些函数 setText("字符串"); //设置文本 setFontColor(color); //设置文本颜色 ...

随机推荐

  1. const对象默认是static的,而不是extern的

    const 和 static 变量,可以放在头文件中 const对象默认是static的,而不是extern的,所以即使放在头文件中声明和定义.多个cpp引用同一个头文件,互相也没有感知,所以不会导致 ...

  2. 最简单的基于FFMPEG+SDL的视频播放器 ver2 (採用SDL2.0)

    ===================================================== 最简单的基于FFmpeg的视频播放器系列文章列表: 100行代码实现最简单的基于FFMPEG ...

  3. Juuluu 旗下企业站点管理系统3.0.1公布!

    KgE金刚企业站点管理系统是广州聚龙软件为国内中小企业开发的一款企业站点管理系统,KgE採用可视化的标签模型,可在Dreamvear等网页编辑下可视化编辑,KgE使用javaeemsyqlyuijqu ...

  4. JAVA学习笔记 -- 数据结构

    一.数据结构的接口 在Java中全部类的鼻祖是Object类,可是全部有关数据结构处理的鼻祖就是Collection和Iterator接口,也就是集合与遍历. 1.Collection接口 Colle ...

  5. Spring3.0 入门进阶(1):从配置文件装载Bean

    Spring 已经盛行多年,目前已经处于3.0阶段,关于Spring的概念介绍性的东西网上已经很多,本系列博客主要是把一些知识点通过代码的方式总结起来,以便查阅. 作为入门,本篇主要介绍Bean的加载 ...

  6. golang各版本的变化

    https://golang.org/doc/https://golang.org/doc/go1.6https://golang.org/doc/go1.5https://golang.org/do ...

  7. GDI+: Curved Shapes

    原文 http://www.functionx.com/vcsharp2003/gdi/curves.htm Curves   Introduction to Curves   A curve is ...

  8. GreenDAO数据库版本升级

    GreenDAO是一款非要流行的android平台上的数据库框架,性能优秀,代码简洁. 初始化数据库模型代码的时候需要使用java项目生成代码,依赖的jar包已经上传到我的资源里了,下载地址如下:ht ...

  9. Taxonomy of class loader problems encountered when using Jakarta Commons Logging(转)

    Acknowledgments I would like to thank Jacob Kjome for reviewing early drafts of this document. His c ...

  10. 【Demo 0009】Android 组件(BroadcastReceiver)

    本章学习要点:        1.  了解Broadcast的作用;        2.  掌握自定义广播和系统广播的接收:        3.  掌握广播的发送: