【发布时间】:2020-09-25 02:20:02
【问题描述】:
在 SwiftUI 应用程序中,我正在尝试创建一个列表,当按下按钮时自动滚动到下一行。
显然,此功能目前不适用于 SwiftUI 列表,但 UITableView 使用此答案的第 3 部分中提到的 scrollToRowAtIndexPath 方法https://stackoverflow.com/a/58830883/11698443 此答案已得到很好的解释,但没有建议如何实现他们所说的最佳解决方案。
以下是列表在 SwiftUI 中的外观示例代码。目标是按下按钮,然后让列表滚动到下一行。我认为该解决方案需要与 UIKit 交互才能正常工作。如果有人能弄清楚如何以最干净的方式做到这一点,那就太棒了。不幸的是,这不能使用所有的 SwiftUI 来完成。
提前感谢任何认为他们可以解决此问题的人。
import SwiftUI
struct ScrollingList: View {
var body: some View {
List(0 ..< 10) { item in
VStack {
Text("\(item)")
Button(action: {}) {
Text("Scroll To Next Item")
}
}
.frame(height: 500)
.background(Color.blue)
}
}
}
【问题讨论】:
标签: swift iphone uitableview swiftui swiftui-list