THRichTextView 1.0.2

THRichTextView 1.0.2

Ahmed Elkady 维护。



 
依赖关系
向下>= 0
iosMath>= 0
SnapKit>= 0
 

  • Top Hat

RichTextView

Cocoapods Carthage compatible Builds All Contributors Slack workspace License - Apache-2 Maturity badge - level 2

正确显示LaTeX、HTML、Markdown以及YouTube/Vimeo链接的iOS TextView(UIView

安装

使用 Cocoapods

只需将以下内容添加到您的Podfile中:

pod 'THRichTextView'

然后在您的repo中运行 pod install

使用 Carthage

只需将以下内容添加到您的Cartfile中:

github "tophat/RichTextView"

然后在您的repo中运行 carthage update --platform iOS

用法

您可以通过首先导入项目来创建一个 RichTextView

import THRichTextView

如果您使用的是CocoaPods,或者

import RichTextView

如果您使用的是Carthage。要初始化一个RichTextView

let richTextView = RichTextView(
    input: "Test",
    latexParser: LatexParser(),
    font: UIFont.systemFont(ofSize: UIFont.systemFontSize),
    textColor: UIColor.black,
    frame: CGRect.zero,
    completion: nil
)

您还可以按照以下方式更新现有的RichTextView

richTextView.update(
    input: "Test",
    latexParser: LatexParser(),
    font: UIFont.systemFont(ofSize: UIFont.systemFontSize),
    textColor: UIColor.black,
    completion: nil
)

上面所有的参数都是可选的,对于initupdate方法(除frame外)。参数定义如下:

  • input - 你想渲染的字符串
  • latexParser - 如果你想以自定义方式处理LaTeX解析,可以传递符合LatexParserProtocol的类。目前我们使用默认的iosMath Pod来处理LaTeX解析
  • font - 要渲染的文本字体
  • texColor - 要渲染的文本颜色
  • completion - 用于处理可能返回的错误的一个完成块。即使有错误,输入仍然会进行渲染,但它可能看起来与预期不同。

输入格式化

为了使RichTextView能够处理可能遇到的各种使用情况,输入字符串需要按照以下方式格式化:

  • LaTeX:将你想以LaTeX格式渲染的文本放在两个[math][/math]标签之间。例如:[math]x^n[/math]
  • 代码:将你想以代码格式渲染的文本放在两个[code][/code]标签之间。例如:[code]print('Hello World')[/code]
  • HTML/Markdown:无需格式化
  • YouTube视频:将YouTube视频的ID放入YouTube标签中,如下所示:youtube[dQw4w9WgXcQ]。任何视频的YouTube ID可以通过查看视频的URL(例如:https://www.youtube.com/watch?v=dQw4w9WgXcQ)并取URL参数后的值(即v=之后那个值)来找到。在这种情况下,YouTube视频的ID是dQw4w9WgXcQ
  • Vimeo视频:将Vimeo视频的ID放入Vimeo标签中,如下所示:vimeo[100708006]。任何视频的Vimeo ID可以通过查看视频的URL(例如:https://vimeo.com/100708006)并取URL的第一个/之后的内容来找到。在这种情况下,Vimeo视频的ID是100708006

贡献

只需克隆仓库,运行pod install,你就可以开始了。

我们正在设置一个示例项目,以便你可以开发测试RichTextView所做的任何更改。

在此期间,运行单元/UI测试应该足够。如果你编写引入了新功能的代码,确保为它编写适当的测试。

致谢

这份感谢归功于这些美好的人 emoji 键


Ahmed Elkady

💻 🤔 ⚠️

Orla Mitchell

💻 🤔 👀

Jake Bolam

🚇📖

Sanchit Gera

📖

Monica Moore

🎨

Brandon Baksh

📖

感谢 Carol Skelly 捐赠 GitHub 组织!