1.6 通过Javascript代码调用原生程序 [iOS开发中的神兵利器]

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. 最后点击左上角的[停止]按钮,关闭模拟器,并结束本节课程。

本文整理自:《app开发中的神兵利器》,真正的[手把手]教学模式,用最快的速度上手iOS开发,苹果商店App Store免费下载:https://itunes.apple.com/cn/app/id1209739676,或扫描本页底部的二维码。课程配套素材下载地址:资料下载

apps8 2.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,117评论 4 360
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 66,963评论 1 290
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 107,897评论 0 240
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,805评论 0 203
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,208评论 3 286
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,535评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,797评论 2 311
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,493评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,215评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,477评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 31,988评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,325评论 2 252
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 32,971评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,055评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,807评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,544评论 2 271
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,455评论 2 266

推荐阅读更多精彩内容