swift - 如何防止文本编辑器在 SwiftUI 中滚动?

标签 swift macos swiftui

我正在尝试创建 TextEditor 的列表作为 SwiftUI 应用程序的一部分。我希望各个编辑器不要滚动,因为它们构成了一个更大的滚动列表。但是,当我将 TextEditors 添加到列表中时,它们会向下压缩并且每个 View 都可以单独滚动。是否有修饰符/技巧可以让 TextEditor 始终适合其文本内容而不滚动,所以我可以实现这一点?
我正在尝试做的一个最小的例子如下:

struct ParentView: View {
    var items: [Item]

    var body: some View {
        List(items, id: \.id) { item in
            EditorView(item: item)
        }
    }
}

struct EditorView: View {
    @ObservedObject var item: Item

    var body: some View {
         TextEditor(text: $item.text)
    }
}

这是在 macOS SwiftUI 应用程序中,而不是在 iOS 应用程序中,以防有任何平台差异。
编辑:正如评论中指出的,我尝试了这种方法 Dynamic row hight containing TextEditor inside a List in SwiftUI但它似乎没有正常工作 - 行仍然没有正确扩展。

最佳答案

为了解决这个问题,我最终使用了 .fixedSize(horizontal: false, vertical: true)修正 TextEditor到其完整大小,然后允许在 Dynamic row hight containing TextEditor inside a List in SwiftUI 中的解决方案在列表中按预期工作。

关于swift - 如何防止文本编辑器在 SwiftUI 中滚动?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63234769/

相关文章:

ios - 过滤和排序 swift 数组

java - 找不到符号 : java.net.Socket

java - 如何在我的 Mac 上恢复 Java

ios - 如何保存和再次加载列表?

ios - Swift 4 中的 AWS DynamoDB updateItem 问题

swift - 执行身份验证后如何重试请求?

macos - 是否有适用于 Mac 的推荐 Prolog IDE?

SwiftUI:Tabview,更改选项卡时保持状态

SwiftUI 小模态视图

swift - 有什么方法可以用 swiftUI 获取 gif 作为背景吗?