在 SwiftUI 中编辑大量文本

问题描述 投票:0回答:1

我正在尝试在 SwiftUI 中创建一个编辑器,它可以处理小说级别的字数(50,000-100,000 个单词)。

在最简单的例子中:

struct TextEditingView: View {
    @State private var fullText: String = "This is some editable text..."
    var body: some View {
        TextEditor(text: $fullText)
            .foregroundColor(Color.gray)
            .font(.custom("HelveticaNeue", size: 13))
            .lineSpacing(5)
    }
}

在 iPad + 键盘上大约 3000-5000 个单词左右时,我会遇到大量延迟和奇怪的行为(例如视图随机滚动)。我在 macOS 和 iPhone 上也经历过类似的事情。

我尝试搜索诸如

Buffered TextEditor SwiftUI
TextEditor paging SwiftUI
之类的术语,但没有取得太大成功。

似乎大多数 swift 文本编辑器的实现都不能真正支持这种文档大小,尽管 Apple 的注释似乎能够处理它。

有人能指出我正确的方向吗?

ios swift macos swiftui uikit
1个回答
0
投票

我也见过这样的东西,当文本是可视区域大小的两倍/三倍时,会出现很多古怪的滚动。自动滚动、跳跃和奇怪的光标放置。

仅使用 SwiftUI 中的标准 TextEditor 小部件

© www.soinside.com 2019 - 2024. All rights reserved.