2 Star 23 Fork 10

小弟调调/swiftui-example

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
README.md 1023 Bytes
一键复制 编辑 原始数据 按行查看 历史

如何滚动到列表中的特定行?

如果您想以编程方式使 SwiftUI 的列表移动以显示特定行,则应将其嵌入 ScrollViewReader 中。 这在其代理上提供了 scrollTo() 方法,只需提供其 ID 和锚点(可选)即可移动到列表内的任何行。

例如,这将在列表中创建100行,并且当您按下按钮时,它将直接滚动到 ID 为 50 的行:

struct ContentView: View {
    var body: some View {
        ScrollViewReader { proxy in
            VStack {
                Button("Jump to #50") {
                    proxy.scrollTo(50)
                }

                List(0..<100) { i in
                    Text("Example \(i)")
                    .id(i)
                }
            }
        }
    }
}

若要更好地控制滚动行为,请添加一个锚点作为第二个参数,如下所示:proxy.scrollTo(50, anchor: .top)

提示:如果在 withAnimation() 中调用 scrollTo(),则将对动画进行动画处理。

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Swift
1
https://gitee.com/jaywcjlove/swiftui-example.git
git@gitee.com:jaywcjlove/swiftui-example.git
jaywcjlove
swiftui-example
swiftui-example
main

搜索帮助