#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. CentOS 6.4 + 曙光DS200 IPSan组建FTP服务器

    CentOS 6.4 + 曙光DS200 IPSan组建FTP服务器 http://write.blog.csdn.net/postedit/10911105#本系列文章由ex_net(张建波)编写, ...

  2. EasyUI - NumberBox组件

    效果: html代码: <input type ="text" id ="box"/> JS代码: $(function () { $('#box' ...

  3. 基于visual Studio2013解决C语言竞赛题之1078打印日历

        题目 解决代码及点评 /************************************************************************/ /* ...

  4. Streaming编程实例(c,c++,python等)

    1.概述 Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如: 采用shell脚本语言中的一些命令作为ma ...

  5. 体系结构复习2——指令级并行(分支预測和VLIW)

    第五章内容较多,接体系结构复习1 5.4 基于硬件猜測的指令级并行 动态分支预測是在程序运行时.依据转移的历史信息等动态确定预測分支方向.主要方法有: 基于BPB(Branch Prediction ...

  6. LeetCode: LRU Cache [146]

    [题目] Design and implement a data structure for Least Recently Used (LRU) cache. It should support th ...

  7. PHP移动互联网开发笔记(5)——文件的上传下载

    原文地址:http://www.php100.com/html/php/rumen/2014/0326/6706.html 一.文件的上传 1.client设置: (1).在 标签中将enctype和 ...

  8. WPF程序长时间无人操作

    在软件开发中为了安全性,特别是那些需要用到用户名和密码登录服务端的程序,常常考虑长期无人操作,程序自动跳转到用户登录界面. 判断程序是否长时间无人操作,有两个依据,第一个是鼠标长时间不动,第二个是鼠标 ...

  9. 基于visual Studio2013解决面试题之0205查找路径

     题目

  10. 微信JS-SDK说明文档

    http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html http://jsfiddle.net/gabrielerom ...