1
rekey 2014-07-30 16:51:35 +08:00
不会是 webview 吧。。。
|
2
txx 2014-07-30 16:58:24 +08:00
iOctocat 1.0 是開源的 自己去看啊...
|
3
yiplee OP |
4
xhacker 2014-07-30 17:57:09 +08:00 1
@yiplee: 还在的。
https://github.com/dennisreimann/ioctocat I removed the contents of this repo, because people kept confusing this for the current version that is available n the App Store. Please note that the source is still available and can be used, just go back to the last ref before the cleaning - just keep in mind that this version is not updated for iOS 7. |
5
txx 2014-07-30 18:01:03 +08:00 1
|
6
Smartype 2014-07-30 19:35:38 +08:00
Textastic 是自己写了一个的UITextView, 我分析过,基本上就是重新造了一个UITextView,而且支持编辑/高亮/选择等。绘制的 OnDemand 的,然后绘制操作(每一行)塞到一个NSOperationQueue里面,在后台绘制layer,然后[view setContent:layer]。其他的应该都是UIWebView。这些应用在iOS开发WebView内容可编辑之前(iOS 5.0)应该都是没有的。
|
7
yiplee OP @Smartype 自定义的 UITextView 要支持代码高亮并且几十种不同的语言都要支持,工作量貌似很大。
只显示代码的话最简便的就是 webview 了。 NapCat 的效果不错,不确定是不是 webview 。 |
9
gangsta 2014-07-31 13:12:16 +08:00 1
代码高亮的话可以试试: webview + google-code-prettify
|
10
krafttuc 2014-08-02 11:00:18 +08:00 1
做语法高亮一般来说要么套用正则,要么做类似编译器的语法分析。很多编辑器都采用正则,如 TextMate 的语法 bundle 里就是各种各样的正则。做语法分析的比较少见,毕竟这个工作量更大。我知道的一种方式是构建 Abstract syntax tree http://en.wikipedia.org/wiki/Abstract_syntax_tree
那么回到iOS上的几种常见的解决方法: * WebView。JS渲染,如highlight.js。对只读的文本内容,这种实践最为省力。毕竟提供语法高亮的JS插件很多。 * UITextView。iOS 7以及之后的版本用 TextKit。如果要支持iOS 7 之前的,可以走到 CoreText 这一层。同样,套正则或者做语法分析。这种实现对做写操作有要求的同学也许可以试试,比 WebView + content editable 这种组合少很多坑。 |
11
kingliangyingjun 2014-08-25 17:12:20 +08:00
coreText
|