博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为cocos2d-x 添加启动数字输入法的功能
阅读量:5741 次
发布时间:2019-06-18

本文共 1658 字,大约阅读时间需要 5 分钟。

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

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

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

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

         

          解决方法:

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

转载请保留以下信息:

作者(Author):smilelance

出处( From ):

转载于:https://www.cnblogs.com/secbook/archive/2012/02/09/2655397.html

你可能感兴趣的文章
书籍阅读目录(给愚钝的自己)
查看>>
SQL Server 安装:以前的某个程序安装已在安装计算机上创建挂起的文件操作
查看>>
炼石荣获国家级赛事大奖 创新数据安全产品受高度认可
查看>>
迷你机器人会跟小强作朋友
查看>>
人工智能机器人买彩票,能稳赚不赔吗?
查看>>
tmux命令使用总结
查看>>
python内置数据结构之list
查看>>
iptables 4表5链
查看>>
策略路由实验,指定出口
查看>>
针对 exchange 的杀毒软件
查看>>
Zend Studio之调试Xdebug
查看>>
SQL自动调优
查看>>
Oracle11gR2 RAC实时应用集群在Redhat Enterprise Linux5 x86_64下的集群(ASM篇)
查看>>
工作问题总结20160712
查看>>
Django博客教程(五):处理 http 请求完全解读
查看>>
haproxy负载均衡算法
查看>>
selinux(实验环境:redhat7.0)
查看>>
Nginx防盗链、Nginx访问控制、Nginx解析php相关配置、Nginx代理
查看>>
linux下SS命令使用
查看>>
solaris学习1:磁盘续
查看>>