很遗憾,我们未能找到外部贡献者。 欢迎随意 fork 这个项目。 如果有 fork 流行起来,请在我们的
上给我们留言,我们可以考虑在本 README 中添加一个指向新项目的链接。
只需将以下内容添加到您的 Podfile
pod 'RichTextView'
并在您的仓库中运行 pod install。
只需将以下内容添加到您的 Cartfile
github "tophat/RichTextView"
并在您的仓库中运行 carthage update --platform iOS。
您可以通过首先导入项目来实例化一个 RichTextView
import RichTextView
初始化 RichTextView
let richTextView = RichTextView(
input: "Test",
latexParser: LatexParser(),
font: UIFont.systemFont(ofSize: UIFont.systemFontSize),
textColor: UIColor.black,
isSelectable: true,
isEditable: false,
latexTextBaselineOffset: 0,
interactiveTextColor: UIColor.blue,
textViewDelegate: nil,
frame: CGRect.zero,
completion: nil
)
您也可以按如下方式更新现有的 RichTextView
richTextView.update(
input: "Test",
latexParser: LatexParser(),
font: UIFont.systemFont(ofSize: UIFont.systemFontSize),
textColor: UIColor.black,
latexTextBaselineOffset: 0,
interactiveTextColor: UIColor.blue,
completion: nil
)
参数定义如下
input - 您要渲染的字符串latexParser - 如果您想以自定义方式处理 LaTeX 解析,您可以传递您自己的符合 LatexParserProtocol 协议的类。目前我们默认使用 iosMath Pod 来处理 LaTeX 解析font - 要渲染的文本的字体texColor - 要渲染的文本的颜色isSelectable - 一个属性,用于确定 RichTextView 是否可选中isEditable - 一个属性,用于确定 RichTextView 是否可编辑latexTextBaselineOffset - 属性化文本附件的基线偏移量,该附件表示任何需要渲染的 LaTeX 文本interactiveTextColor - 任何交互式元素/自定义链接的文本颜色(请参阅 Formatting the input 中的 交互式元素)textViewDelegate - 一个 RichTextViewDelegate - 符合 UITextViewDelegate 协议,并且在点击交互式元素/自定义链接时也有处理frame - 一个 CGRect,表示 RichTextView 的框架completion - 一个完成块,用于处理可能返回的任何错误。即使存在错误,输入仍然会渲染,但它可能看起来与预期不同。为了使 RichTextView 能够处理可能遇到的各种用例,输入字符串需要按如下方式格式化
[math] 和 [/math] 标签之间。 示例:[math]x^n[/math][code] 和 [/code] 标签之间。 示例:[code]print('Hello World')[/code]youtube[dQw4w9WgXcQ]。 任何视频的 YouTube ID 都可以通过查看视频的 URL(示例:https://www.youtube.com/watch?v=dQw4w9WgXcQ)并获取 v= URL 参数后面的值来找到。 在这种情况下,YouTube 视频的 ID 是 dQw4w9WgXcQvimeo[100708006]。 任何视频的 Vimeo ID 都可以通过查看视频的 URL(示例:https://vimeo.com/100708006)并获取第一个 / 后面的值来找到。 在这种情况下,Vimeo 视频的 ID 是 100708006[interactive-element id=<id>] 和 [/interactive-element] 标签之间。 这样做后,当用户点击此文本时,它将使用代表交互式元素的文本 ID (<id>) 调用 RichTextViewDelegate 的 didTapCustomLink 函数,因此请务必连接到 RichTextViewDelegate 以捕获此内容。查看 Example 根目录中的示例项目,以查看上面截图的实际效果!
只需克隆仓库,运行 pod install,您就可以开始了
如果您想以可视方式进行 devQA 更改,您可以导航到示例项目(位于根目录 Example 文件夹中),运行 pod install,然后构建并运行该应用程序。 这将向您展示 RichTextView 的一些常用用法。
示例项目指向 RichTextView pod 的本地副本,因此本地进行的任何更改都将反映在示例项目中。
但是,您需要使用旧的构建系统才能看到您的更改反映出来。 关于缓存开发 Pods 和 XCode 10,存在一个已知问题。
欢迎随意向示例项目添加更多输入/输出示例,尤其是在您添加任何新功能时。
此外,请务必在本地运行单元/UI 测试,作为 devQA 过程的一部分。
感谢这些优秀的人们(表情符号键)
Ahmed Elkady 💻 🤔 |
Orla Mitchell 💻 🤔 👀 |
Jake Bolam 🚇📖 |
Sanchit Gera 📖 |
|---|---|---|---|
Monica Moore 🎨 |
Brandon Baksh 📖 |
Siavash Bidgoly 🚇 |
Stephen Truong 📖 |
感谢 Carol Skelly 捐赠 Github 组织,以及 Kevin Zhow 捐赠 Pod 名称!