And*_*eas 5 pull-to-refresh swift swiftui swiftui-list swiftui-environment
我想知道是否有一种简单的方法可以使 SwiftUI 的刷新控件使用的活动指示器可见List?这将提供一致的刷新 UI 外观,无论刷新是如何启动的。
List使用修饰符启用a上的pull刷新后refreshable,Lists环境就有了它的refresh项目集,RefreshAction供刷新控件使用。我的猜测是,使用它RefreshAction也可能会触发刷新控件的可见性,我尝试过:
struct MyView : View {
@State var content: Content
var body: some View {
_MyView(content: $content)
.refreshable { // assigning `refresh` to the environment
await refresh()
}
}
private func refresh() async {
// ...
content = newContent
// ...
}
}
struct _MyView : View {
@Environment(\.refresh) private var refresh
// [ content binding, etc... ]
var body: some View {
List {
// ...
}
.onAppear {
Task { await refresh?() } // doesn't show the activity indicator of the list
}
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用。
由于我找不到isRefreshing/refreshState或类似的属性,EnvironmentValues我想知道是否有另一种(简单的)方法来触发它的出现?
| 归档时间: |
|
| 查看次数: |
1199 次 |
| 最近记录: |