使用 List
View ,是否有一种方法可以访问(并因此修改)底层 UITableView
对象,而无需将整个 List
重新实现为 UIViewRepresentable
?
我已经尝试在我自己的 List
中初始化一个 UIViewRepresentable
,但我似乎无法让 SwiftUI 在我需要时初始化 View ,我只是得到一个没有 subview 的空基本 UIView
。
这个问题是为了帮助找到 Bottom-first scrolling in SwiftUI 的答案。
或者,在 SwiftUI 中重新实现 UITableView
的库或其他项目也可以回答这个问题。
最佳答案
答案是否定的。 从 iOS 13 开始,SwiftUI 的 List 目前并非旨在取代 UITableView 的所有功能和可定制性。它旨在满足 UITableView 最基本的使用:一个标准外观、可滚动、可编辑的列表,您可以在其中在每个单元格中放置一个相对简单的 View 。
换句话说,您放弃了可定制性,以便为您自动实现滑动、导航、移动、删除等操作。
我确信随着 SwiftUI 的发展,List(或等效 View )将变得更加可定制,我们将能够执行诸如从底部滚动、更改填充等操作。确保这种情况发生的最佳方法是到 file feedback suggestions with Apple 。我相信 SwiftUI 的工程师们已经在努力设计将在 WWDC 2020 上出现的功能。他们在指导社区想要和需要的方面的投入越多越好。
关于ios - 从 SwiftUI 列表访问底层 UITableView,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58117712/