博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
iOS 使用markdown 实现编辑和预览文本
阅读量:5846 次
发布时间:2019-06-18

本文共 1117 字,大约阅读时间需要 3 分钟。

注意要点: 

1.在iOS 可以依赖UIWebview 来实现

2.丰富的UI样式依赖 html 的样式, js 调用插入markdown内容呈现出来

3.实现markdown编辑快捷键:参考github 编辑内容的快捷键即可

⚠️ 实现过程中遇到一个问题,在github上 编辑好的文本,客户端在线预览的时候是空白的。。。调试了好久终于找到问题:一样的文本在pc端可能会生成\r,但是在iOS 客户端回车键只会是\n. 所以markdown文本在注入js前执行的过滤方案中我多加了一条过滤\r 即问题解决了

- (NSString *)getMarkdownContentWithMarkdowString:(NSString *)markdown {    markdown = [markdown stringByReplacingOccurrencesOfString:@"\r"withString:@""];//⚠️防止不识别\r    markdown = [markdown stringByReplacingOccurrencesOfString:@"\n"withString:@"\\n"];    markdown = [markdown stringByReplacingOccurrencesOfString:@"\"" withString:@"\\\""];    markdown = [markdown stringByReplacingOccurrencesOfString:@"'" withString:@"\\'"];    return markdown;}

测试复现这种情况 可以使用下面的测试文案:

(1)driving off the spleen and regulating the circulation.\r\n   //无法显示(2)driving off the spleen and regulating the circulation.\r     //无法显示(3)driving off the spleen and regulating the circulation.\n     //正常(4)driving off the spleen and regulating the circulation.       //正常

markdown 编辑效果如下:

 

markdown 预览效果如下:

 

参考项目:地址  

欢迎给小星星✨✨✨鼓励哦???

转载于:https://www.cnblogs.com/someonelikeyou/p/10572448.html

你可能感兴趣的文章
《给你一个团队你怎么带》笔记(绝多数为个人经验,仅供参考)
查看>>
PD:用户使用率最高的mac虚拟机
查看>>
竞争于不公平的竞争
查看>>
Android 动态创建一个组件
查看>>
Android通过Aidl调用Service实例
查看>>
找回使用Eclipse删除的文件
查看>>
rabbitmq 消息系统 消息队列
查看>>
vBulletin系统曝SQL注入漏洞 安全狗可直接防御
查看>>
Intellij IDEA神器居然还有这些小技巧
查看>>
HBase基本原理
查看>>
php使用qr生成二维码
查看>>
常用的软件
查看>>
集成spring3、hibernate4、junit
查看>>
Mysql删除重复数据
查看>>
如何在mac系统下将mysql加入环境变量
查看>>
Spring MVC学习笔记(六)
查看>>
Ubuntu下Eclipse热键Ctrl+Alt+Up无效的解决
查看>>
Java反射(一)
查看>>
Linux下查看CPU型号,内存大小,硬盘空间的命令(详解)
查看>>
本地Oracle密码过期问题
查看>>