标签:
背景:使用DTCoreText实现epub阅读器的内容排版
基础准备:coretext,HTML+CSS渲染机制,epub文件格式
一:ios端epub实现:主要是两种,coretext,webview,二者的对比不再赘述,简单点说就是,coretext需要自己去解析html和对应的css样式,并合并起来使用coretext展示,但是效率高。webview可以直接loadURL,可以自己指定样式,但是效率低。
二、epub的文件格式:
四、HTML+css的渲染机制:参考一个简答的实现:http://www.jianshu.com/p/c375ac056149,可见webview在加载的时候,是自动将相关联的css样式渲染到HTML文本里的,关键就是css的解析以及和HTML的合并
五:coretext:
七、DTCoreText:
六、清楚了上述所列,因此我们的目标就是讲提取到的每一章节的HTML文件,转化成NSAttributedString,并且这个NSAttributedString不是简单的字符串,而是带有排版样式的string,借助于DTCoreText,就可以完成上述功能的实现了。
标签:
原文地址:http://www.cnblogs.com/lucky-star-star/p/5777462.html