2、CCEGLView_ios.mm 里面添加对键盘设置的方法
- @property(nonatomic) UIKeyboardType keyboardType;
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()改成这样:
5、初始化用来输入的CCTextFieldTTF的时候调用
- 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;
- }
6. 在EAGLView中实现UITextInputTraits ,即
- setKeyboardType(KEY_BOARD_TYPE_NUMBER);//来设置输入法为数字即可
@H_404_81@-(UIKeyboardType) keyboardType { return keyboardType_; } -(void) setKeyboardType:(UIKeyboardType)keyboardType { keyboardType_ = keyboardType; } //并在EAGLView.h添加属性 UIKeyboardType keyboardType_; 我得补充:如果在 EAGLView中没有添加@property(nonatomic)UIKeyboardTypekeyboardType;的话,程序会在
view.keyboardType = UIKeyboardTypeASCIICapable 的时候崩溃,报错:unrecognized selector sent to instance。