當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


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:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。