当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Swift Never refreshable(action:)用法及代码示例


实例方法

refreshable(action:)

将此视图标记为可刷新。

声明

func refreshable(action: @escaping () async -> Void) -> some View

返回值

在其环境中具有新刷新操作的视图。

参数

action

SwiftUI 在用户请求刷新时执行的异步处理程序。使用此处理程序启动修改后的视图中显示的模型数据的更新。在处理程序内的任何异步调用前面使用await

详述

将此修饰符应用于视图以将视图环境中的 EnvironmentValues/refresh 值设置为使用指定的 action 作为其处理程序的 RefreshAction 实例。检测到实例存在的视图可以改变它们的外观,为用户提供一种执行处理程序的方法。

例如,当您在 iOS 和 iPadOS 上将此修饰符应用于 List 时,列表会启用标准的 pull-to-refresh 手势来刷新列表内容。当用户向下拖动可滚动区域的顶部时,视图会显示一个进度指示器并执行指定的处理程序。该指示器在刷新期间保持可见,刷新是异步运行的:


List(mailbox.conversations) { conversation in
    ConversationCell(conversation)
}
.refreshable {
    await mailbox.fetch()
}

您也可以将刷新函数添加到您自己的视图中。有关如何执行此操作的信息,请参阅 RefreshAction

可用版本

iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+

相关用法


注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never refreshable(action:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。