我已经使用列出了简单的数据列表List。我想添加下拉菜单以刷新功能,但是我不确定哪种方法是最好的。
下拉刷新视图才可以看到,当用户尝试从同一像我们的第一个指数下拉在做UITableView与UIRefreshControl在UIKit
这是在中列出数据的简单代码SwiftUI。
struct CategoryHome: View {
var categories: [String: [Landmark]] {
.init(
grouping: landmarkData,
by: { $0.category.rawValue }
)
}
var body: some View {
NavigationView {
List {
ForEach(categories.keys.sorted().identified(by: \.self)) { key in
Text(key)
}
}
.navigationBarTitle(Text("Featured"))
}
}
}
Run Code Online (Sandbox Code Playgroud) 我目前有一个简单的 SwiftUI ScrollView,其中包含单个元素。我添加了该.refreshable(action: )属性以允许(下拉)刷新视图。但是,这只会在拉动刷新时显示默认的灰色微调器。有没有办法可以改变微调器的颜色/样式?
当我使用列表视图时,我可以轻松添加修饰符refreshable来触发刷新逻辑。我的问题是如何在使用 LazyVStack 时实现相同的目标。
我有以下代码:
struct TestListView: View {
var body: some View {
Text("the list view")
// WORKS:
// VStack {
// List {
// ForEach(0..<10) { n in
// Text("N = \(n)")
// }
// }
// .refreshable {
//
// }
// }
// DOES NOT SHOW REFRESH CONTROL:
ScrollView {
LazyVStack {
ForEach(0..<10) { n in
Text("N = \(n)")
}
}
}
.refreshable {
}
}
}
Run Code Online (Sandbox Code Playgroud)
在这种情况下如何获得刷新行为LazyVStack?