使用COCOS2D-X JSB开发,在js页面中设置iOS键盘模式

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键盘模式,布布扣,bubuko.com

时间: 2024-11-07 06:27:32

使用COCOS2D-X JSB开发,在js页面中设置iOS键盘模式的相关文章

ueditor.config.js文件中设置enableAutoSave参数为false就可以关闭本地保存功能。

//启用自动保存 1 ,enableAutoSave: false ueditor1.4.3版本是没有效果的,需要修改代码,在ueditor1.5.0版本已经得到修复. 修改方法 ueditor.all.js文件 找到 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50

JS高级程序设置笔记(五)

13章:事件 JavaScript与Html之间的交互,是通过事件实现的.可以使用侦听器(或者处理程序)来预定事件. 13.1事件流: 什么是事件流:事件流描述的是从页面中接收事件的顺序. 13.1.1事件冒泡 什么是事件冒泡:可以用一个形象的比喻来描述.小鱼吐泡泡,小鱼在水里,泡泡会从水的最底部一直到水面上结束.事件冒泡和这个意思相近,IE的事件流叫做事件冒泡,是从最具体的元素开始,一直延伸到最顶层的那个结构.意思就是说,比如你创建了一个鼠标点击事件,当你点击这个元素的时候,浏览器会认为你点击

关于页面中表格的字体样式(禁止换行)

white-space:nowrap; 1: <table style="white-space:nowrap"> <!采用css的内嵌样式指动换行属性> 2:直接在页面中设置统一的字体样式 <style> table{ white-space:nowrap; } </style> 原文地址:https://www.cnblogs.com/songyinan/p/11933191.html

微信公众平台开发(103) JS API支付

本文介绍如何使用JS API支付接口完成微信支付. 一.JS API支付接口(getBrandWCPayRequest) 微信JS API只能在微信内置浏览器中使用,其他浏览器调用无效.微信提供getBrandWCPayRequest接口供商户前端网页调用,调用之前微信会鉴定商户支付权限,若商户具有调起支付的权限,则将开始支付流程.这里主要介绍支付前的接口调用规则,支付状态消息通知机制请参加下文.接口需要注意:所有传入参数都是字符串类型! getBrandWCPayRequest参数如表6-5所

JSF页面中使用js函数回调后台bean方法并获取返回值的方法

由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的,很可能会误导使用者. 相对来说,看国内的那些仅仅是翻译过来的文章或书籍不如直接看国外的官方文档或资料来的实在,在我讲述jsf页面中如何使用js调用后台bean方法之前,先给大家说几个国外的资料.在primefaces官方网站上,你可以搜索到几乎所有你需要的东西,primefaces官网为:http:

利用pushState开发无刷页面切换

利用pushState开发无刷页面切换<转> 相关文档:https://developer.mozilla.org/en-US/docs/Web/Guide/API/DOM/Manipulatingthebrowser_history 实现目标 页面的跳转(前进后退,点击等)不重新请求页面 页面URL与页面展现内容一致(符合人们对传统网页的认识) 在不支持的浏览器下降级成传统网页的方式 使用到的API history.state 当前URL下对应的状态信息.如果当前URL不是通过pushSta

巧用开发者工具的控制台来调试页面中的js语句

因为要弄某网页的一个自动登陆工具,所以需要对此网页中的元素利用js进行选取和操作,复杂的js选取如果直接在头脑中想很容易出错,而且一旦出错也不好判断错误原因. 而浏览器带的开发者工具的控制台功能,就给我们提供了一个像在本地开发工具中调试程序一样便捷的功能. 比如要调试博客首页,鼠标右键选择页面中对应的元素,弹出的菜单选择审查元素: 假设我们要选取图中标题的a标签元素,它的id为homepage1_HomePageDays_DaysList_ctl00_DayList_TitleUrl_0,那么我

intellij IDEA开发node.js

现在网上好像关于IDEA开发node.js的讲解不是太多,今天试了一下,竟然成功了.... 1.安装nodejs http://nodejs.org/download/  自动根据系统下载自己的版本node.js 2.环境变量 windows 安装,不需要配置环境变量   mac安装后,会提示你配置环境变量,需要配置环境变量(貌似) 命令  sudo vim /etc/paths 输入密码 然后将路径输入进去, 3.测试是否成功 控制台输入node -v 或者输入node 进去node模式然后输

前端开发工程师 - 04.页面架构 - CSS Reset &amp; 布局解决方案 &amp; 响应式 &amp; 页面优化 &amp;规范与模块化

04.页面架构 第1章--CSS Reset 第2章--布局解决方案 居中布局 多列布局 全屏布局 第3章--响应式 浏览网页使用的设备屏幕大小迥异,如何保证页面在不同设备上都正常显示呢? --  解决方法:响应式 优点:无需为不同设备编写对应的页面 --> 降低开发成本.维护成本 缺点:页面中某些部分在某些设备上会被隐藏(资源加载了,但是只是用CSS隐藏了) 为什么在手机端的页面会很小呢? 所有的移动端的页面都引入了viewport视窗 刚开始所有的元素都是加载到一个比较大的viewport视