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


Swift Never background(_:ignoresSafeAreaEdges:)用法及代碼示例


實例方法

background(_:ignoresSafeAreaEdges:)

將視圖的背景設置為樣式。

聲明

func background<S>(
    _ style: S,
    ignoresSafeAreaEdges edges: Edge.Set = .all
) -> some View where S : ShapeStyle

返回值

在其後麵繪製具有指定樣式的視圖。

參數

style

符合 ShapeStyle 的類型的實例,SwiftUI 在修改後的視圖後麵繪製。

edges

添加背景時忽略安全區域插圖的邊集。默認值為 Edge/Set/all 。指定一個空集以尊重所有邊上的安全區域插圖。

詳述

使用此修飾符將符合 ShapeStyle 協議的類型(如 ColorMaterialHierarchicalShapeStyle )放置在視圖後麵。例如,您可以在 Label 後麵添加 ShapeStyle/regularMaterial


struct FlagLabel: View {
    var body: some View {
        Label("Flag", systemImage: "flag.fill")
            .padding()
            .background(.regularMaterial)
    }
}

SwiftUI 將樣式錨定到視圖的邊界。對於上麵的示例,背景填充了標簽的整個框架,其中包括填充:

SwiftUI 將背景樣式的範圍限製為修改後視圖的 container-relative 形狀。如果您使用 View/containerShape(_:) 修飾符約束 FlagLabel 視圖,您可以看到此效果:


FlagLabel()
    .containerShape(RoundedRectangle(cornerRadius: 16))

背景采用指定的容器形狀:

默認情況下,背景會忽略所有邊上的安全區域插圖,但您可以提供一組特定的邊以忽略,或者提供一個空集以尊重所有邊上的安全區域示例:


Rectangle()
    .background(
        .regularMaterial,
        ignoresSafeAreaEdges: []) // Ignore no safe area insets.

如果要指定 View 或一堆視圖作為背景,請改用 View/background(alignment:content:)。要指定 ShapeInsettableShape ,請分別使用 View/background(_:in:fillStyle:)-89n7jView/background(_:in:fillStyle:)-20tq5

可用版本

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

相關用法


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