本人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邮箱,帮您答疑!