RichTextKit Logo

Version Swift 5.9 Swift UI MIT License Twitter: @danielsaidi Mastodon: @danielsaidi@mastodon.social

关于 RichTextKit

RichTextKit 是一个 Swift SDK,它允许您在 Swift & SwiftUI 中使用跨平台的 RichTextEditor 编辑富文本。

RichTextEditor 支持文本样式(粗体、斜体、下划线等)、字体、字号、颜色、文本对齐方式、图像附件等等。 它由 RichTextView 驱动,该视图桥接了 UITextView & NSTextView,并添加了额外的、平台无关的 API,使这两个视图的行为更加相似。

如果您只想查看富文本内容,可以使用 RichTextViewer SwiftUI 视图,该视图封装了编辑器并对其应用了只读配置。

安装

RichTextKit 可以使用 Swift Package Manager 安装。

https://github.com/danielsaidi/RichTextKit.git

快速开始

RichTextKit 具有一个 SwiftUI RichTextEditor,它接受一个文本绑定和一个 RichTextContext

struct MyView: View {

    @State
    private var text = NSAttributedString(string: "Type here...")
    
    @StateObject
    var context = RichTextContext()

    var body: some View {
        RichTextEditor(text: $text, context: context) {
            // You can customize the native text view here
        }
        .focusedValue(\.richTextContext, context)
    }
}

编辑器使用 RichTextCoordinator 来同步编辑器、上下文和平台特定视图之间的更改。 您可以使用上下文来更改字体、颜色、对齐方式等,并观察上下文更改以更新 UI。

如果您只想显示富文本,可以使用 RichTextViewer

struct MyView: View {

    private var text = NSAttributedString(...)

    var body: some View {
        RichTextViewer(text: text)
    }
}

RichTextKit 提供了 UI 组件、键盘快捷键 & 菜单命令,可在富文本编辑器中使用。

更多信息,请参阅快速入门指南

文档

在线文档 包含更多信息、文章、代码示例等。

演示应用 & 灵感

RichTextKit 演示允许您在 iOS & macOS 上探索该库。 要试用它,只需打开并运行 Demo 应用程序。

RichTextKit 也在以下应用程序中使用,所以请务必查看它们以获取灵感。

如果您正在使用 RichTextKit,并且想将您的应用程序添加到此列表中,请随时与我联系。 我很乐意推荐它。

赞助我的工作

如果您发现此项目和我的其他开源项目有帮助,请考虑支持我的工作。 我在空闲时间管理它们,任何帮助以维持它们的运行都将不胜感激。

您可以在 GitHub Sponsors 上赞助我联系我以获得付费支持,或者聘请我进行自由职业

联系方式

如果您有任何问题或想以任何方式做出贡献,请随时与我联系。

许可证

RichTextKit 在 MIT 许可证下可用。 有关更多信息,请参阅 LICENSE 文件。