自己不会写parser, 上网找到了highlightjs.
一开始的思路是用把highlightjs解析出来的html转成NSAttributedString
放到UITextView
里面. 但是UITextView
有个问题是行宽度, 如果我们限制了行宽度, 那么不好实现, 所以就没有用UITextView
而改用了UIWebView
.
原理是用JavaScriptCore
拿到UIWebView
的JSContext
, 然后让webView去load一个包含highlightjs的html模板, 在通过JSContext
把要高亮的代码传进去解析. 就完成了....