关于 RichTextKit
RichTextKit 帮助您在 SwiftUI
、UIKit
和 AppKit
中查看和编辑丰富的文本。
RichTextKit 包含一个 SwiftUI RichTextEditor
,它基于支持文本样式(粗体、斜体、下划线、删除线等)、字体、字号、文本和背景颜色、文本对齐方式、图片等的跨平台 RichTextView
构建。
RichTextKit 由 Oribi 支持,并经其许可发布,并在 OribiWriter 中使用,该应用可在 iOS 和 macOS 上使用。如果您想查看 RichTextKit 在实际应用中的演示,请查看该应用或此仓库中的演示应用。
RichTextKit 支持 iOS 14
、macOS 11
、tvOS 14
和 watchOS 7
。
安装
RichTextKit 可以使用 Swift 包管理器安装
https://github.com/danielsaidi/RichTextKit.git
如果您不希望有外部依赖项,您也可以只需将源代码复制到您的应用程序中。
开始使用
在线文档中有开始使用RichTextKit的指南,可以帮助您开始。
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
}
}
}
编辑器使用一个RichTextCoordinator
来同步上下文、编辑器和底层平台特定视图之间的更改。
您现在可以使用上下文来更改文本绑定及其字体、字体大小、颜色、对齐方式等。您也可以使用上下文来监视这些属性的更改,例如在移动文本输入光标时。
例如,要显示和更改当前字体大小,您可以使用上下文的RichTextContext/fontSize
Button("Set font size") {
context.fontSize = 123
}
.onChange(of: context.fontSize) {
print("The current font size is \(context.fontSize)")
}
这意味着您可以使用纯SwiftUI事件监视并在上下文中对任何属性更改做出响应。
在UIKit和AppKit中开始使用
在UIKit和AppKit中,您可以直接使用底层RichTextView
,而不是UITextView
或NSTextView
RichTextView(data: myData, format: .archivedData) // Using data
RichTextView(string: myString, format: .plainText) // Using a string
RichTextView
比原生视图功能更丰富,它桥接了平台特定的API,使得视图在不同平台间表现出更一致的行为。
文档
在线文档提供了更多信息,代码示例等,并允许您概括库的各个部分。
演示应用程序
该演示应用程序允许您在iOS和macOS上探索库。要尝试它,只需打开并运行演示
项目。
支持此库
我在业余时间管理我的各种开源项目,对社区提供的任何帮助都表示感谢。
您可以在GitHub Sponsors上赞助此项目,或联系以获取付费支持。
联系
如果您有疑问或想以任何方式做出贡献,请随时联系
- 网站:danielsaidi.com
- Mastodon:@[email protected]
- Twitter:@danielsaidi
- 电子邮件:[email protected]
许可证
RichTextKit在MIT许可下可用。有关更多信息,请参阅LICENSE文件。