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


Swift Optional 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大神的英文原创作品 Optional background(_:ignoresSafeAreaEdges:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。