iOS swift 显示数学公式

在开发的工程中,有须要显示数学公式的需求,例以下面的前端

数学公式1

数学公式2

实现上面的显示方式,能够使用三种方式:ios

使用图片

将数学公式在服务器端生成图片,前端使用图片来展现数学公式。git

使用这种方式前端难以排版,难以控制图片的缩放比例,灵活性低。github

WebView 加载数学公式引擎 —— KaTeX

如今已经有一个很是成熟的排版系统 LaTeX,它支持使用文原本表达复杂的数学公式、表格等。若是单纯的显示数学公式的话,能够使用 LaTeX 的子集 KaTeX, 它是一个支持 HTML 的轻量级的数学公式引擎。服务器

咱们能够在须要显示数学公式时建立一个 WebView,引入 KaTeX 来渲染数学公式。框架

使用这种方式存在几种问题:3d

  1. WebView 加载数学公式的速度很是慢。
  2. 若是须要在 TableView 的 Cell 中加载数学公式,则可能出现一个页面中须要多个 WebView 的状况,会进一步见面页面刷新的速度。其次 TableView 不能自动推断出 WebView 的高度,从而难以控制 Cell 的高度。

iosMath + YYText 的组合

iosMath 是一个专门用于显示数学公式的框架,可是它不支持将其余文字和数学公式一块儿显示。因此咱们只能从一段文字当中提取表达数学公式的部分,将其丢给 iosMath 显示,其余的内容还须要其余控件来展现。cdn

因此咱们还须要使用 YYText ,将 iosMath 框架中的用于显示数学公式的 MTMathUILabel 做为一段 AttachmentString,使其和其余文字进行拼接。blog

另外还须要考虑在数学公式过长,一个页面显示不全时,须要左右滚动方便用户查看数学公式。因此用于展现信息的 YYLabel 还须要放在一个 UIScrollView 中。图片

具体的实现方式能够查看 github

项目截图1 项目截图2

参考

廖雪峰--使用 KaTeX 渲染数学公式

相关文章
相关标签/搜索