ios中使用模版引擎渲染HTML页面

在iOS实际的开发中,使用UIWebView来加载数据使用的场景特别多。很多时候我们会动态的从服务器获取一段HTML的内容,然后App这边动态的处理这段HTML内容用于展示在UIWebView上。使用到的API接口为:

- (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL;

由于HTML内容通常是变化的,所以我们需要动态生成HTML代码。通常我们从服务器端获取到标题、时间、作者和对应的内容,然后我们需要对这些数据处理之后拼接成一段HTML字符串。对于传统的做法是将上面的需要替换的内容填写一些占位符,放到指定的文件中

*基本原理:
1.本地加载经过设计的HTML模版文件
2.从服务器获取数据
3.使用模版引擎MGTemplateEngine将数据填写到HTML模版中
4.使用UIWebView加载渲染的HTML文件*

下面我们来看看h5的文件:
ios中使用模版引擎渲染HTML页面_第1张图片

{{littleText}}{{bigText}}就是后面要被实际数据进行替换的一个占位标识.

使用模版引擎加载数据:
这里是头文件:
ios中使用模版引擎渲染HTML页面_第2张图片

初始化:
ios中使用模版引擎渲染HTML页面_第3张图片

模版引擎加载数据:
ios中使用模版引擎渲染HTML页面_第4张图片

*MGTemplateEngine在导入工程后,需要手动添加Foundation框架和UIKit框架
如果需要在使用引擎拼装数据之后再做些处理工作,可以通过设置控制器为引擎的代理,然后通过代理方法:
(void)templateEngine:(MGTemplateEngine )engine blockEnded:(NSDictionary )blockInfo;
执行后续的操作即可.*

总结:

HTML模版中的占位标识写法不要随意更改,固定写法为:
setObject 不要写成 setValue,否则导致工程运行崩溃.

MGTemplateEngine 下载地址和官方网站:

https://github.com/mattgemmell/MGTemplateEngine
http://mattgemmell.com/mgtemplateengine-templates-with-cocoa/

当然这里只是简单的介绍,具体的情参考官方文档,给出项目源码,oschina

http://git.oschina.net/Cshaonian/MyHtml

推荐相关博客供自己查看:

http://blog.devzeng.com/blog/ios-html-template-engine.html
http://blog.devtang.com/2012/10/09/3rd-libs-used-in-fenbi-app/

你可能感兴趣的:(ios技术)