【问题标题】:Swiftui slow scroll with a long list of items macosSwiftui 缓慢滚动,带有一长串项目 macos
【发布时间】:2021-06-12 23:49:09
【问题描述】:

在我的应用中滚动时遇到问题。它有一长串项目(〜300),当我滚动时它很慢。 我尝试了很多东西,比如切换到lazyvstack,向列表中添加一个id,使用ScrollBar,但它们似乎都不起作用。 这是一个使用 swiftui 2.0 的 macOS 应用程序

【问题讨论】:

  • 不幸的是,这不是 SwiftUI 在 Mac 上的优点之一。我最近遇到了一篇博客文章(我似乎无法立即找到),其中他们放弃 SwiftUI 的应用程序的一部分正是出于这个原因,用包装的 NSTableView 替换了 List

标签: list macos performance swiftui


【解决方案1】:

考虑将.id(UUID()) 添加到您的列表中。

List(items, id: \.self) { item in
    Text("\(item)")
}
.id(UUID()) // <- here

查看更多here

【讨论】:

  • 我尝试了该解决方案,但它使应用程序变得最糟糕。我不知道为什么
  • 尝试将代码添加到问题中,使用foreach,元素数组和结构的示例
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2010-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-06-10
  • 2023-03-16
  • 2020-09-17
相关资源
最近更新 更多