手机版

iOS开发使用javascript调用oc方法而不是url

时间:2021-09-08 来源:互联网 编辑:宝哥软件园 浏览:

让我们看看如何通过单击项目中webview上的按钮来调用oc代码

上一页是webview中嵌套项目的网页。点击打印顺序后(点击事件为js方法),需要调用oc中集成的蓝牙打印机功能完成打印。

所以这里只能用js代码直接调用oc代码。

1.首先创建一个iOS类,因为一般需要安卓做一套,iOS做一套,所以一般命名是为了表示区别。h # import foundation/foundation . h # import JavaScript core/JavaScript core . h/* * * js调用oc中main的代码。需要这个协议*/@ protocol jsobjectprotocol jsexport @ required # pragmamark-js调用oc方法并打印JSON string-(void)print :(ns string *)JSON字符串;@ end @ interface IOs : sobjectjsobjectprotocol @ end . m @ implemention IOs # pragmamark-print JSON string-(void)print 3360(nsstring *)JSON string {//print specific events } 2。网页加载后调用注册iOS注册。

#pragma标记-网页加载后,注册ios对象。并自动检查打印机是否自动连接-(void)webviewdifinishload :(ui webview *)webview {//首先创建一个JSContext对象(这里,通过当前webview的键获取js context)//必须创建这个对象,否则无法调用协议中的方法IOs * IOs=[[IOs alloc]init];JSContext * context=[self . webview valueforkeypath : @ ' document view . webview .大型机. JavaScript context '];上下文[@ ' IOs ']=IOs;}3.在js click事件中这样调用它(下面的代码是用相应的js代码编写的,而不是您的oc代码)

if(window[' Android ']window[' Android '][' jsPrint ']){ var and print=window。Android . jsprint(JSON . stringify(d));} else if(window[' IOs ']window[' IOs '][' print ']){ window[' IOs '][' print '](JSON . stringify(d));} else { this . alert . autolosetip('找不到打印方法!', 1000);}以上都是关于iOS如何使用javascript代码调用oc方法,希望能帮助大家学习IOS开发。希望大家多多支持我们。

版权声明:iOS开发使用javascript调用oc方法而不是url是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。