基于webView的ZSSRichTextEditor源代码

刚刚做了一个富文本的需求,有加粗和插入图片的功能。网上说的比较多的是DTRichTextEditor和YYKit。

        因为时间紧迫,选用了DTRichTextEditor的第三方库,是基于DTCoreText实现的,由于这个项目之前是付费的,近两年才开源,连google都搜不到教程,而自己看源代码跟天书无异..。还好我上一家公司用到过这个,先弄个了半成品,但是在插入图片那碰到了很多问题。。。我想把要插入的图片先显示出来,然后等后台上传图片后,再插入来进行显示。但是无从下手,最后请教了一个朋友才解决了!原来有一个类叫DTLazyImageView,可以实现懒加载!!后来还碰到一些坑,弄了好多天才完成。其实有问题不怕,怕的是源代码真是看不懂啊,跟DTCoreText类似,太费劲了。

    最近无事,想研究一下富文本,想找一个更简单,更好用的库。于是找到了ZSSRichTextEditor,github上2000多个星,非常不错。看了看源代码,发现比DTRichTextEditor简单多了。。也是因为它是基于webView的。可是webView里的编辑框之所以能编辑,不是用的ios原生textView,也不是html里的input,而是最普通的div!为什么能编辑呢?原来div里的属性contenteditable=true就可以了,就这么简单。。害我想了老半天。

    目录结构如下:

基于webView的ZSSRichTextEditor源代码_第1张图片


editor.html的代码如下:



	
	
ZSSRichTextEditor.js,jQuery,js都一些js操作。

原理很简单,就是在webView上操作,加粗,插入图片时,能过JavascritCore来调用js来不停读写"zss_editor_content"这个div。当然webView有一些回调,也会调用oc代码。


以后有时间再研究一下DTCoreText吧


你可能感兴趣的:(富文本)