隐藏CCTextFieldTTF的键盘

前几天把手头的项目给做完了,最近不是特别忙,有时间来写写博客,把我在项目中遇到的问题记录下来 最终怎么解决的跟大家分享一下,共同进步~
想实现这么一种文本输入框,用户点击到输入框时弹出键盘,如果要关闭键盘,触摸其他的空白区域就可以了。打开和关闭键盘很简单,调用attachIME和deattachIME。但是发现键盘代开后再触摸界面,layer就不响应触摸了,这样就没法判断何时关闭键盘~
看了一下源码,发现在2.x中,EAGLView.mm文件跟1.0不一样,有这么一个判断:

if(isKeyboardShown_)
{
        [self  handleTouchesAfterKeyboardShow];
        return;
}

 

当打开键盘的时候屏蔽了其他的触摸输入,就不能监听到层的触摸了。
[self  handleTouchesAfterKeyboardShow];就是它的问题,把这行代码注释掉就ok了,而且触摸移动、抬起、取消 里相应的判断都给注释了。
这样就可以通过触摸判断有没有触摸到空白区域来关闭键盘了~
(PS:不知道这么修改会不会引发其它的问题,暂时没有发现~如果有更合理的发放也告诉我啊,互相学习啦~

你可能感兴趣的:(ios,游戏开发,cocos2d-x)