美文网首页iOS学习HTML5傲视苍穹iOS《Objective-C》VIP专题
【iOS和HTML 5交互】iOS中加载html5调用html方

【iOS和HTML 5交互】iOS中加载html5调用html方

作者: bu再等 | 来源:发表于2016-03-11 21:45 被阅读3973次

本人ios初学者,为自己学习方便,复制各位大神的学习性文章放在自己简书里,仅作为自己学习方便使用,如果作者疑此行为侵权,请随时联系本人删除,如有共同学习者复制此文章,请注明原出处

投稿者:邹明

适合人群:iOS中级水平

为什么写这篇文章呢?也是应一位已经工作的学生的要求,看来现在很多公司都用到这方面的技术了,那我们一起来看看。

1.iOS利用webView控件加载本地html5或者网络上html5

说明:在文章中,我主要讲解webView控件加载本地html5,至于加载网络html5,这个就是一样的!只不过需要从网络接口中去获取html5代码而已!

准备工作

1>.首先,你可以将写好的html文件拖拽到iOS工程目录中;

如下图所示:

2.在Xcode工程中,往storyboard当中拖入一个UIWebView控件,方便待会儿使用;

如下图所示:

3.设置控制器为webView的代理,遵守协议;利用webView控件加载本地html5;

如下图所示:

4.最后,我们通过iOS模拟器看一下工程运行之后的效果(这里我为了让大家更加清晰的看到模拟器效果,我把页面的背景颜色换成了黄色,后面会讲到如何修改UIWebView页面背景颜色);

当然,对于有iOS基础的学生来说,以上加载本地html5或者加载网络html5的操作,都很简单。

很多学生的困惑在于当网络接口当中显示的webView界面不符合我们的需求时,该如何修改html5里内容,也就是我们平常所说的增、删、改、查!

接下来给大家讲解如何获取html5中的标签以及如何修改html5中的内容!

在iOS当中修改html5内容

实现代理方法webViewDidFinishLoad:来操作网页,在代理方法中进行操作html5中的标签(增删改查);

代码中的操作如下:

重新运行工程,我们看一下模拟器中的效果变化:

说明:(要看懂字符串中的代码,必须具备JS基础知识)从模拟器中可以看出:

我们成功的删除了id为‘paragraph’的P标签、更改了class为'BaiDu'的标签里的内容(从‘百度’修改为了‘让教育回归本质’)、而且在后面成功的插入了一张图片!

总结:在iOS中操作html5的几个步骤:

1.利用webView控件加载本地html5或者网络上html5;

2.设置当前控制器对象为webView的代理的代理对象,并遵守协议;

3.用类选择器或者id选择器或者标签选择器等选择要进行操作的标签;

4.把获取到的标签转换成字符串;

5.webView调用stringByEvaluatingJavaScriptFromString方法去执行js代码;

此处注意修改html5内容的应用场景:比如加载了网络上的某个链接,但是不想要它某个链接标签,利用这个代理方法,获取这个标签,然后删除它,或者更改他标签的显示文字等内容;

iOS-UIWebView中html5里的字体大小、字体颜色、背景色

需要在webView的delegate回调方法webViewDidFinishLoad:里去执行js代码;

代码如下:

执行js代码后,我们模拟器中的效果:

可以看出,UIWebView中的字体大小、字体颜色、页面背景颜色都修改成功!

说明:此处我只是简单地写了一个本地的html文件,作为大家参考,大家下去在练习时,可以随便找一个网站,获取到它的所有html代码,然后,试着去获取html5中的标签从而进行操作!

下篇文章当中,我会给大家讲解“iOS中UIWebView与JS的交互”,(会讲到如何在iOS当中去处理JS的按钮点击事件)敬请期待!

如有疑问,可直接在订阅号“明哥”界面直接发送消息,我看到后会第一时间回复您的留言,或者发送至zouming110922@163.com邮箱,帮您答疑!

相关文章

网友评论

  • Clarles:很赞
  • 昵称glh:蓝鸥的 加个QQ903866547 浩哥带的学生 哈哈 哈哈哈
  • 阳光的大男孩儿:蓝鸥 的?是郑州的老师还是学生???哈哈
  • 马爷:你好 我要处理当前页面的点击事件 怎么处理 就是当前页面有 button 按钮的时候 我是客户端 怎么去操作呢

本文标题:【iOS和HTML 5交互】iOS中加载html5调用html方

本文链接:https://www.haomeiwen.com/subject/mglxlttx.html