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

cocos2d-x 里面默认输入法只有一种,就是启动的时候就是系统默认的输入法,然后可以切换数字,中英文等等,

但是我们程序里有个功能设置价格,不希望能够输入中英文,只要输入数字,输入以后再判断显然用户体验不好,咨询了官方人员获得了一些提示,

但是仍然无法解决这个问题,最后在苹果官网查到了相关信息,测试一番后得到了现在的解决方案,存档备忘,并且share给大家。


         官方相关内容链接如下:https://developer.apple.combrary/ios/#documentation/StringsTextFonts/Conceptual/TextAndWebiPhoneOS/Introduction/Introduction.html

         

          解决方法:

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

@property(nonatomicUIKeyboardType 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);来设置输入法为数字即可


本文转载自:http://blog.csdn.net/smilelance/article/details/7244759

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。
该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值