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


Swift Optional background(in:fillStyle:)用法及代码示例


用法一

实例方法

background(in:fillStyle:)

将视图的背景设置为填充了默认背景样式的形状。

声明

func background<S>(
    in shape: S,
    fillStyle: FillStyle = FillStyle()
) -> some View where S : Shape

返回值

在其后面绘制指定形状的视图。

参数

shape

符合 Shape 的类型的实例,SwiftUI 使用 ShapeStyle/background 形状样式在视图后面绘制。

fillStyle

绘制形状时使用的FillStyle。默认样式使用非零绕组数规则和抗锯齿。

详述

此修饰符的行为类似于 View/background(_:in:fillStyle:)-89n7j ,不同之处在于它始终使用 ShapeStyle/background 形状样式来填充指定的形状。例如,您可以创建一个勾勒出梯形的Path


let trapezoid = Path { path in
    path.move(to: .zero)
    path.addLine(to: CGPoint(x: 90, y: 0))
    path.addLine(to: CGPoint(x: 80, y: 50))
    path.addLine(to: CGPoint(x: 10, y: 50))
}

然后您可以将该形状用作 Label 的背景:


ZStack {
    Color.teal
    Label("Flag", systemImage: "flag.fill")
        .padding()
        .background(in: trapezoid)
}

如果没有背景修饰符,填充颜色会通过标签显示。使用修饰符后,标签的文本和图标会以一个填充了适合浅色或深色外观的颜色的形状显示:

要使用其他 View 类型或使用一堆视图创建背景,请改用 View/background(alignment:content:)。要将 ShapeStyle 添加为背景,请使用 View/background(_:ignoresSafeAreaEdges:)

可用版本

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

用法二

实例方法

background(in:fillStyle:)

将视图的背景设置为使用默认背景样式填充的可插入形状。

声明

func background<S>(
    in shape: S,
    fillStyle: FillStyle = FillStyle()
) -> some View where S : InsettableShape

返回值

在其后面绘制具有指定可插入形状的视图。

参数

shape

符合 InsettableShape 的类型的实例,SwiftUI 使用 ShapeStyle/background 形状样式在视图后面绘制。

fillStyle

绘制形状时使用的FillStyle。默认样式使用非零绕组数规则和抗锯齿。

详述

此修饰符的行为类似于 View/background(_:in:fillStyle:)-20tq5 ,只是它始终使用 ShapeStyle/background 形状样式来填充指定的可插入形状。例如,您可以使用 RoundedRectangle 作为 Label 的背景:


ZStack {
    Color.teal
    Label("Flag", systemImage: "flag.fill")
        .padding()
        .background(in: RoundedRectangle(cornerRadius: 8))
}

如果没有背景修饰符,填充颜色会通过标签显示。使用修饰符后,标签的文本和图标会以一个填充了适合浅色或深色外观的颜色的形状显示:

要使用其他 View 类型或使用一堆视图创建背景,请改用 View/background(alignment:content:)。要将 ShapeStyle 添加为背景,请使用 View/background(_:ignoresSafeAreaEdges:)

可用版本

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

相关用法


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