SwiftUI 的 List 如何实现下拉刷新

1,051 阅读1分钟

在 SwiftUI 中,对 List 实现下拉刷新是非常简单的一件事,我们通过 refreshable 就可以实现。只需添加一行代码。

示例代码如下:

struct ContentView: View {
    var body: some View {
        NavigationStack {
            List(1..<20) { row in
                Text("第 \(row) 条数据")
            }
            .refreshable {
                // 处理下拉事件的逻辑
            }
            .navigationTitle("可以下拉刷新的列表")
            .navigationBarTitleDisplayMode(.inline)
        }
    }
}

效果如下图:

截屏2024-12-04 14.58.56.png

放在 refreshable 中的代码会自动在异步上下文的环境中运行,因此可以在里面放置网络加载数据的逻辑。