有文章http://blog.csdn.net/smilelance/article/details/7244759给出了正确的方向,不过照之实现,却没有实现相应的效果,可能是作者说的不明显,也可以是我理解的太浅,这里作一说明:

原文:

1、EAGLView.h里面添加键盘类型属性

@property(nonatomic) UIKeyboardType keyboardType;

2、CCEGLView_ios.mm 里面添加对键盘设置的方法

//设置为只有数字输入法的键盘

void CCEGLView::setIMEKeyboardNumber()

{

EAGLView * view = [EAGLViewsharedEGLView];

view.keyboardType =UIKeyboardTypeNumberPad;

}

//设置为默认的输入法键盘

void CCEGLView::setIMEKeyboardDefault()

{

EAGLView * view = [EAGLViewsharedEGLView];

view.keyboardType =UIKeyboardTypePhonePad;

}

3、CCTextFieldTTF.h里面添加自定义的输入法键盘种类来做管理

enum eKeyBoardType{

KEY_BOARD_TYPE_NORMAL = 0,

KEY_BOARD_TYPE_NUMBER,

};

inline void setKeyboardType (eKeyBoardType type) {m_keyboardType = type; }

inline int getKeyboardType () {returnm_keyboardType; }

eKeyBoardType m_keyboardType;

4、bool CCTextFieldTTF::attachWithIME()改成这样:

bool CCTextFieldTTF::attachWithIME()

{

bool bRet = CCIMEDelegate::attachWithIME();

if (bRet)

{

// open keyboard

CCEGLView * pGlView = CCDirector::sharedDirector()->getOpenGLView();

if (pGlView)

{

if (getKeyboardType() ==KEY_BOARD_TYPE_NORMAL) {

pGlView->setIMEKeyboardDefault();

}elseif (getKeyboardType() ==KEY_BOARD_TYPE_NUMBER) {

pGlView->setIMEKeyboardNumber();

}

pGlView->setIMEKeyboardState(true);

}

}

return bRet;

}

5、初始化用来输入的CCTextFieldTTF的时候调用

setKeyboardType(KEY_BOARD_TYPE_NUMBER);来设置输入法为数字即可

6. 我的补充,在EAGLView中实现UITextInputTraits,即

-(UIKeyboardType) keyboardType

{

return keyboardType_;

}

-(void) setKeyboardType:(UIKeyboardType)keyboardType

{

keyboardType_ = keyboardType;

}

并在EAGLView.h添加属性

UIKeyboardType          keyboardType_;

7.只有调用setKeyboardType 即可实现指定的键盘类型

为cocos2d-x 添加启动数字输入法的功能相关推荐

  1. 【COCOS2DX-游戏开发之七】添加启动数字输入法的功能

    cocos2d-x 里面默认输入法只有一种,就是启动的时候就是系统默认的输入法,然后可以切换数字,中英文等等, 但是我们程序里有个功能设置价格,不希望能够输入中英文,只要输入数字,输入以后再判断显然用 ...

  2. cocos2d-x 添加启动数字输入法的功能

    1.EAGLView.h里面添加键盘类型属性 @property(nonatomic) UIKeyboardType keyboardType; 2.CCEGLView_ios.mm 里面添加对键盘设 ...

  3. html5 input的type属性启动数字输入法

    当文本框只能输入数字是一个很常见的需求,比如电话号码,身份证号,卡号, 数量....等等只允许数字输入,为了更好的用户体验性,直接写出 启动数字键盘的需求,我和大多数人一样用   this.style ...

  4. 手机html input打开数字,html5 input的type属性启动数字输入法

    POJ 2653 Pick-up sticks (线段相交) 题意:给你n条线段依次放到二维平面上,问最后有哪些没与前面的线段相交,即它是顶上的线段 题解:数据弱,正向纯模拟可过 但是有一个陷阱:如果 ...

  5. Android中EditText优先弹出数字输入法

    Android Android中EditText优先弹出数字输入法 项目中一个EditText输入数字的频率较高,但是汉字和英文的输入也偶有需要,直接在xml文件将inputType设置为number ...

  6. 西语加计算机专业怎么样,如何在电脑上添加西班牙语输入法?

    以Windos系统为例: 1.右键单击输入法图标,点击"设置" 2.在常规里点击"添加" 3.找到"西班牙语",点击"确定&quo ...

  7. 趣学python3(2)-添加以数字文字形式使用下划线的功能,以提高可读性

    添加以数字文字形式使用下划线的功能,以提高可读性 x=2_111_222 y=0x_fff_6da print(x) print(y) 2111222 16774874

  8. IOS15给UICollection添加测试数字

    IOS15给UICollection添加测试数字 如何给collectionView的每一个cell添加一个测试数字,UITableView非常方便,提供了 TitleLabel.text 方法接口, ...

  9. Windows 10企业批量部署实战之刷新并添加启动映像

    相关组件及配置都设置完成后,接下来我们需要对我们的控制台进行刷新操作,以便生成windows PE启动映像并添加到WDS启动映像完成Windows 10企业部署的最后操作.针对x64\x86两启动映像 ...

最新文章

  1. Php中数组sort举例,php数组排序之krsort与asort函数应用举例
  2. css属性选择符的应用
  3. Android 数据存储 Room
  4. [转]我倡导无政府主义编程—Fred George访谈录
  5. golang中的sync.WaitGroup
  6. xmanager远程登录
  7. 输入对话框 android,android 输入对话框 确认对话框
  8. 1000亿,行业巨头纷纷押宝的数据中心
  9. ARMs3c2440开发板挂接NFS服务
  10. c语言 recv_sin,C++_C语言中经socket接收数据的相关函数详解,recv()函数: 头文件:#incl - phpStudy...
  11. java中的map是什么_Java中Map的使用
  12. Vue实现CNode
  13. 实用新型专利撰写模板(自己总结)
  14. 打印101-150之间的质数
  15. “磁碟机”病毒分析报告
  16. 2寸的照片长宽各是多少_两寸照片多少厘米?2寸免冠照片尺寸是多少?2寸免冠照片长宽多少?...
  17. cesium is not defined
  18. TYPEC-CC逻辑芯片-E-MARK数据线-浅析
  19. javaScript原生版购物车:全选、单选、全删、商品数量增减、计算总价、添加商品(代码)
  20. 【分布式】分布式常见的十大坑,你了解几个?

热门文章

  1. 爱学术,让论文写作不再难!
  2. box2d的角色邹形
  3. 随笔-给定两个字符串形式的非负整数 num1 和num2 ,计算它们的和
  4. ᑋᵉᑊᑊᵒ ᵕ̈ᰔᩚ
  5. 经典SQL操作语句【转载】
  6. 宣州谢朓楼饯别校书叔云
  7. iOS微信支付--解析失败
  8. 网易有道三季报解读:转型“有道”,但依旧道阻且长
  9. 布兰迪斯大学计算机美国大学排名,布兰迪斯大学2021年US News美国最佳大学排名第几?...
  10. switch 语句 -- 超详解