SwiftUI 中的富文本视图

iAl*_*x11 9 ios textkit swiftui

我正在尝试在 SwiftUI 中做一个简单的笔记应用程序,我想知道是否有任何库可以提供简单的富文本视图,允许用户以粗体、斜体、删除线、下划线等书写。

我尝试过LEOTextView,但它有很多错误,我想看看是否有 100% SwiftUI 的方法来实现这一点,这样它会更容易与我的项目集成。我对 UIKit 的了解也不是很多,所以如果用 SwiftUI 制作的话,添加更多功能会更容易。

抱歉,如果这是一个愚蠢的问题,并提前致谢。

TL;DR:我只想要这样的东西 在此输入图像描述

我想这将是起点

import SwiftUI

// first wrap a UITextView in a UIViewRepresentable
struct TextView: UIViewRepresentable {
    @Binding var text: String

    func makeCoordinator() -> Coordinator {
        Coordinator(self)
    }

    func makeUIView(context: Context) -> UITextView {

        let textView = UITextView()
        textView.delegate = context.coordinator
        return textView
    }

    func updateUIView(_ uiView: UITextView, context: Context) {
        uiView.text = text
    }

    class Coordinator : NSObject, UITextViewDelegate {

        var parent: TextView

        init(_ uiTextView: TextView) {
            self.parent = uiTextView
        }

        func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
            return true
        }

        func textViewDidChange(_ textView: UITextView) {
            print("new text: \(String(describing: textView.text!))")
            self.parent.text = textView.text
        }
    }
}

struct ContentView: View {
     @State var text = ""

       var body: some View {
           TextView(
                text: $text)
       }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}
Run Code Online (Sandbox Code Playgroud)

Mut*_*ani 9

有一个用于 SwiftUI 文本编辑器的文档良好的库。它支持 iOS 13.0+ 和 macOS 10.15+,这是它的链接! 高亮文本编辑器

使用起来也非常简单。