diff --git a/README.md b/README.md index 8c60cc5..e210882 100644 --- a/README.md +++ b/README.md @@ -47,6 +47,11 @@ RZRichTextView继承UITextView,实现富文本编辑功能。使用Swift完成 # 功能说明 +支持的功能,可以查看demo。 +UITextView的typingAttributes,会根据光标位置改变,自动改变成上一个文本的相关属性,在输入文字之后,会自动填充到新的文本中 +文本操作分 插入,新增,删除,替换,就是对UITextView的attributedText的不断修改,然后设置正确的selectedRange + + #### 1.关于[RZColorful](https://github.com/rztime/RZColorful) [RZColorfulSwift](https://github.com/rztime/RZColorfulSwift) 为方便Swift或者OC能够使用RZRichTextView,此次版本将RZColorful分开,将不在依赖,避免RZColorful RZColorfulSwift两个版本的冲突,需要使用时,按项目类型自行添加RZColorful,不了解RZColorful的功能的话,可以去看看[RZColorful](https://github.com/rztime/RZColorful) @@ -72,7 +77,7 @@ class func creatWith(image: UIImage, asset: PHAsset? = nil) -> NSTextAttachment 在`RZRichTextAttachment.swift`中给NSTextAttachment添加了一个属性**rzrt**: **RZRichAttachmentObj**,包含了**图片、PHAsset, Type信息,maskView** - maskView:图片上的遮罩View,与图片大小一直,添加在UITextView上,跟随图片在文本中的位置而改变,可以在maskView上添加删除、进度、播放、预览等自定义UI + maskView:图片上的遮罩View,与图片大小一致,添加在UITextView上,跟随图片在文本中的位置而改变,可以在maskView上添加删除、进度、播放、预览等自定义UI #### 3.字体设置 @@ -80,9 +85,9 @@ class func creatWith(image: UIImage, asset: PHAsset? = nil) -> NSTextAttachment > 2.**字体大小、颜色、高亮色、上下标(偏移)、描边、阴影、拉伸**:是对NSAttributedString.Key的使用 -> 3.**列表(有序、无序)**:html中的ul、ol,这一个功能的实现逻辑比较复杂,并且iOS不支持,所以通过插入html里的《ul》《/ul》《ol》《/ol》,在**NSParagraphStyle**中设置NSTextList,并且为了连续,所以使用单利初始化了一个NSTextList,在整个编辑过程中,相邻两段,才能组成一个列表,且在编辑过程中,一些逻辑处理会很复杂,比如新的一段列表,未输入内容时,删除或者回车之后,需要把当前列给删掉,等等 +> 3.**列表(有序、无序)**:html中的ul、ol,这一个功能的实现逻辑比较复杂,在iOS中不支持,属于私有API,这里通过插入html里的《ul》《/ul》《ol》《/ol》生成一个NSTextList,再在**NSParagraphStyle**复制引用NSTextList,为了能连续,整个过程使用单利初始化的NSTextList,这样在编辑过程中,相邻两段,才能组成一个列表。一些逻辑处理也比较复杂,可能不全面,目前处理的方式是,当新的一行未输入内容的,点按回车或者删除,这一行列表输入就将取消。如果有其他交互逻辑,可以反馈给我。 -NSTextList在MacOS上支持,在iOS中并未公开,仅做私有属性,所以无法自行设置 +NSTextList在MacOS上支持,在iOS中并未公开,仅做私有属性,所以无法自行设置,但是在设置html ul ol之后,打印NSParagraphStyle可以看到NSTextList的描述信息。 > 4.**插入url**:在插入url时,分了两种情况,1.插入图片或者文字,然后给图片文字添加链接,这样生成html的时候,url会隐藏,但是点击文字图片可以跳转。2.仅插入url,这样生成html时,url是当做文字同时显示并且可点击的 diff --git a/UpdateLog.md b/UpdateLog.md index f218d7a..0a99fe2 100644 --- a/UpdateLog.md +++ b/UpdateLog.md @@ -1,12 +1,12 @@ * v1.0.0 - * 重构了一下,现在使用的是Swift,如果要在OC中使用,可以使用桥接引入,所有的属性和方法都是公开的,如果要自定义或者替换,都是可以的 + * 整体重构,现在使用的是Swift,如果要在OC中使用,可以使用桥接引入,所有的属性和方法都是公开的,如果要自定义或者替换,都是可以的 *** - * . 支持插入**图片、视频**,并且在NSAttachment中添加rzrt:可以设置相关的图片、视频信息,以及maskView遮罩,可以在maskView上添加删除,进度等自定义UI。maskView相当于是添加在UITextView上的覆盖NSAttachment并且和图片一样大小的遮罩。 + * . 支持插入**图片、视频**,并且在NSAttachment中添加rzrt:可以设置相关的图片、视频信息,以及maskView遮罩,可以在maskView上添加删除,进度等自定义UI。maskView相当于是添加在UITextView上的覆盖在NSAttachment上与图片一样大小的遮罩。 * . **重新设置了滑动控件**的UI - * . **粗体、斜体、下划线、删除线**:因为中文不支持斜体,所以需要找第三方支持中文斜体字的字体才行,之前是设置obliqueness,这是相当于倾斜文字,这在于html互转时,无法实现,但是可以参考[RZColorfulSwift](https://www.github.com/RZColorfulSwift) `codingToCompleteHtmlByWeb` 这个方法来旋转字体。下划线删除线默认和文本颜色一致 + * . **粗体、斜体、下划线、删除线** * . 支持**列表** 也就是 ***