├── README.md ├── RichTextDemo.xcodeproj ├── project.pbxproj ├── project.xcworkspace │ └── contents.xcworkspacedata └── xcuserdata │ └── Victor.xcuserdatad │ └── xcschemes │ ├── RichTextDemo.xcscheme │ └── xcschememanagement.plist └── RichTextDemo ├── AppDelegate.h ├── AppDelegate.m ├── Assets.xcassets └── AppIcon.appiconset │ └── Contents.json ├── Info.plist ├── RootViewController.h ├── RootViewController.m ├── ViewController.h ├── ViewController.m ├── main.m └── richTextEditor.html /README.md: -------------------------------------------------------------------------------- 1 | >前言:最近帮公司的一名程序员搞一个项目的收尾工作,差一个富文本编辑器功能未实现,时间紧迫,调研了下网上的解决方法均较为繁琐. 不得已找了个别门来实现该问题,且看下文 2 | 3 | * 需要实现的效果 4 | 5 | ![需要实现的效果](http://upload-images.jianshu.io/upload_images/1694866-a5e800a1bf59e39b.gif?imageMogr2/auto-orient/strip) 6 | 7 | 8 | * 解决思路 9 | >采用webview加载一个本地html文件,该html内部编写好js方法用于与oc相互调用 最终输出该富文本字符串传输给服务器 10 | 11 | * 为什么选择这样的方式 12 | > 服务端要求我最终返回的数据格式为: 13 | ```html 14 | { 15 | @"Id":"当时新建模板这个不传,更新模板必须传", 16 | @"title":"模板标题", 17 | @"text":"

测试文字

18 | ![](http://pic.baikemy.net/apps/kanghubang/486/3486/1457968280769.jpg)

![](http://pic.baikemy.net/apps/kanghubang/486/3486/1457968327238.amr@type=1@duration=1852)

", 19 | @"sendstr":"22372447516929 如果模板要保存同时发送给患者,这个值必须传,可以多个患者发送患者id以逗号隔开" 20 | @"1457968280769.jpg": 21 | @"文件名":"BACES64 数据 这个是多个图片或语音一起上传" 22 | } 23 | ``` 24 | 其中text字段即为富文本字段. 25 | 同时又需要编辑已有文本等功能.倘若用原生代码写较为复杂,最终选择了使用本地html代码实现 26 | 27 | ------------ 28 | * 解决步骤 29 | 新建一个richTextEditor.html文件 30 | 1.页面设计 31 | 32 | ```html 33 | /*界面不要太简单 一个简单的输入框*/ 34 | 30 | 31 | 32 | 33 | 34 |

35 | 110 | 111 | 112 | --------------------------------------------------------------------------------