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


Swift Optional environment(_:_:)用法及代碼示例

實例方法

environment(_:_:)

將指定鍵路徑的環境值設置為給定值。

聲明

func environment<V>(
    _ keyPath: WritableKeyPath<EnvironmentValues, V>,
    _ value: V
) -> some View

返回值

在其環境中設置了給定值的視圖。

參數

keyPath

指示要更新的EnvironmentValues 結構的屬性的關鍵路徑。

value

keyPath 指定的項目設置的新值。

詳述

使用此修飾符設置 EnvironmentValues 結構的可寫屬性之一,包括您創建的自定義值。例如,您可以設置與 EnvironmentValues/truncationMode 鍵關聯的值:


MyView()
    .environment(\.truncationMode, .head)

然後,您可以使用 Environment 屬性包裝器讀取 MyView 或其後代之一中的值:


struct MyView: View {
    @Environment(\.truncationMode) var truncationMode: Text.TruncationMode


    var body: some View { ... }
}

SwiftUI 提供專用的視圖修飾符來設置大多數環境值,例如設置 EnvironmentValues/truncationMode 值的 View/truncationMode(_:) 修飾符:


MyView()
    .truncationMode(.head)

EnvironmentKey 中所述,在可用時首選專用修飾符,並在定義自定義環境值時提供您自己的修飾符。

View/environment(_:_:) 修飾符影響給定視圖,以及該視圖的後代視圖。它在您調用它的視圖層次結構之外沒有任何影響。

可用版本

iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+

相關用法


注:本文由純淨天空篩選整理自apple.com大神的英文原創作品 Optional environment(_:_:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。