使用COCOS2D-X JSB开发,在js页面中设置iOS键盘模式
来源:互联网 发布:java 字符串换行split 编辑:程序博客网 时间:2024/05/21 09:29
XYSDK.h
void setKeyboardType(int type);
XYSDK.cpp
voidXYSDK::setKeyboardType(int type)
{
#if (CC_TARGET_PLATFORM == CC_PLATFORM_IOS)
CCEGLView * pGlView =CCDirector::sharedDirector()->getOpenGLView();
if (pGlView)
{
if (0==type) {
pGlView->setIMEKeyboardDefault();
}elseif (1 ==type) {
pGlView->setIMEKeyboardNumber();
}
pGlView->setIMEKeyboardState(true);
}
#endif
}
CCEGLView
voidCCEGLView::setIMEKeyboardNumber()
{
EAGLView * view = [EAGLViewsharedEGLView];
view.keyboardType =UIKeyboardTypeNumbersAndPunctuation;
}
voidCCEGLView::setIMEKeyboardDefault()
{
EAGLView * view = [EAGLViewsharedEGLView];
view.keyboardType =UIKeyboardTypeDefault;
}
Jsb_xy.hpp
JSBool js_xy_XYSDK_setKeyboardType(JSContext *cx,uint32_t argc,jsval *vp);
Jsb_xy.cpp
JSBooljs_xy_XYSDK_setKeyboardType(JSContext *cx,uint32_t argc,jsval *vp)
{
jsval *argv =JS_ARGV(cx, vp);
JSBool ok =JS_TRUE;
JSObject *obj =JS_THIS_OBJECT(cx, vp);
js_proxy_t *proxy =jsb_get_js_proxy(obj);
XYSDK* cobj = (XYSDK *)(proxy ?proxy->ptr : NULL);
JSB_PRECONDITION2( cobj, cx,JS_FALSE, "InvalidNative Object");
if (argc ==1) {
int arg0;
ok &= jsval_to_int32(cx, argv[0], (int32_t *)&arg0);
JSB_PRECONDITION2(ok, cx,JS_FALSE, "Error processing arguments");
cobj->setKeyboardType(arg0);
JS_SET_RVAL(cx, vp,JSVAL_VOID);
returnJS_TRUE;
}
JS_ReportError(cx,"wrong number of arguments: %d, was expecting%d", argc,1);
returnJS_FALSE;
}
使用
在js文件中,attachWithIME之前设置setKeyboardType
setKeyboardType(0) //默认键盘
setKeyboardType(1) //数字键盘
xy.XYSDK.getInstance().setKeyboardType(1);
this._MainUI.getWidgetByName("TextField_shu_ru").attachWithIME();
- 使用COCOS2D-X JSB开发,在js页面中设置iOS键盘模式
- 在cocos2d-x jsb/html5中设置触摸代理的方法
- COCOS2d-x JSB 使用cc.LabelTTF在Andoird上闪退
- Cocos2d-x中jsb结构剖析
- JSB Cocos2d-x Javascript
- cocos2d-x js binding tips 1 使用cocosbuilder导入jsb后无法响应触摸的问题
- Cocos2d-x JSB + cocos2d-html5 跨平台游戏开发
- 使用cocos2d-x时在ios上设置竖屏
- 使用cocos2d-x时在ios上设置竖屏
- 使用cocos2d-x时在ios上设置竖屏
- 插件学习之道:ext-jsb-3.0.0.zip共享Ext JS 3.0以上版本在eclipse中使用spket插件设置自动提示的方法
- Cocos2d-x jsb + Cocos2d-html5 跨平台游戏开发(二)—— 遇到的坑
- Cocos2d-x JSB + Cocos2d-html5 跨平台游戏开发(一)—— 引擎选择
- Cocos2d-x jsb + Cocos2d-html5 跨平台游戏开发(二)—— 遇到的坑
- cocos2d-x 开发模式
- cocos2d-x在Xcode(iOS )中设置横竖屏的解决方案
- 使用cocos2d-x时在ios上设置竖屏ZZ
- Cocos2d-x JSB 自动绑定bindings
- Aptana:JavaScript开发利器
- WPF的学习
- POJ 3169 Layout (图论-差分约束)
- .Net中的控制翻转和依赖注入
- Hadoop集群节点的动态增加与删除
- 使用COCOS2D-X JSB开发,在js页面中设置iOS键盘模式
- 泛型------thinking in java
- 声波通信原理商用改进版本和源代码
- 作业3
- android 锁屏壁纸和桌面壁纸的设置实现
- oracle数据库性能影响之Sql parse
- 解决configure: error: Cannot find libmysqlclient under /usr.
- .NET 使用unity实现依赖注入
- PHP测试得到体会