从 SwiftUI 列表访问底层 UITableView

Pot*_*Ion 5 uitableview ios swift swiftui swiftui-list

使用List视图,是否有一种方法可以访问(并因此修改)底层UITableView对象,而无需将整个对象重新实现ListUIViewRepresentable

我已经尝试List在我自己的内部初始化 a UIViewRepresentable,但我似乎无法让 SwiftUI 在需要时初始化视图,而且我只是得到一个UIView没有子视图的空基本视图。

这个问题是为了帮助找到SwiftUI 中底部优先滚动的答案。


或者,在 SwiftUI 中重新实现的库或其他项目UITableView也可以回答这个问题。

Anu*_*ugh 6

答案是肯定的。有一个令人惊叹的库,可以让您检查底层的 UIKit 视图。这是它的链接


Joh*_* M. 1

答案是不。从 iOS 13 开始,SwiftUI 的 List 目前并未设计为取代 UITableView 的所有功能和可定制性。它旨在满足 UITableView 最基本的使用:一个标准外观、可滚动、可编辑的列表,您可以在其中每个单元格中放置一个相对简单的视图。

换句话说,您为了简单地自动为您实现滑动、导航、移动、删除等而放弃了可定制性。

我确信随着 SwiftUI 的发展,列表(或等效视图)将变得更加可定制,我们将能够执行诸如从底部滚动、更改填充等操作。确保发生这种情况的最佳方法是向Apple 提交反馈建议。我确信 SwiftUI 工程师已经在努力设计将在 WWDC 2020 上出现的功能。他们为指导社区想要和需要的内容提供的输入越多越好。