实例方法
overlay(_:
overlay(_:ignoresSafeAreaEdges:)
在此视图前分层指定样式。
声明
func overlay<S>(
_ style: S,
ignoresSafeAreaEdges edges: Edge.Set = .all
) -> some View where S : ShapeStyle
返回值
在其前面绘制的具有指定样式的视图。
参数
style
符合
ShapeStyle
的类型的实例,SwiftUI 在修改后的视图前面分层。edges
添加覆盖时忽略安全区域插图的边集。默认值为
Edge/Set/all
。指定一个空集以尊重所有边上的安全区域插图。
详述
使用此修饰符在视图前分层符合 ShapeStyle
协议的类型,例如 Color
、 Material
或 HierarchicalShapeStyle
。例如,您可以将 ShapeStyle/ultraThinMaterial
覆盖在 Circle
上:
struct CoveredCircle: View {
var body: some View {
Circle()
.frame(width: 300, height: 200)
.overlay(.ultraThinMaterial)
}
}
SwiftUI 将样式锚定到视图的边界。对于上面的示例,叠加层填充了整个圆圈的框架(恰好比圆圈的高度更宽):
SwiftUI 还将样式的范围限制为视图的 container-relative 形状。如果您使用 View/containerShape(_:)
修饰符约束 CoveredCircle
视图,您可以看到此效果:
CoveredCircle()
.containerShape(RoundedRectangle(cornerRadius: 30))
叠加层采用指定的容器形状:
默认情况下,覆盖忽略所有边上的安全区域插入,但您可以提供一组特定的边来忽略,或者提供一个空集来尊重所有边上的安全区域插入:
Rectangle()
.overlay(
.secondary,
ignoresSafeAreaEdges: []) // Ignore no safe area insets.
如果要指定 View
或视图堆栈作为覆盖而不是样式,请改用 View/overlay(alignment:content:)
。如果要指定 Shape
,请使用 View/overlay(_:in:fillStyle:)
。
可用版本
iOS 15.0+, iPadOS 15.0+, macOS 12.0+, Mac Catalyst 15.0+, tvOS 15.0+, watchOS 8.0+
相关用法
- Swift Optional overlay(_:in:fillStyle:)用法及代码示例
- Swift Optional overlay(alignment:content:)用法及代码示例
- Swift Optional offset(_:)用法及代码示例
- Swift Optional onSubmit(of:_:)用法及代码示例
- Swift Optional offset(x:y:)用法及代码示例
- Swift Optional opacity(_:)用法及代码示例
- Swift Optional onChange(of:perform:)用法及代码示例
- Swift Optional onTapGesture(count:perform:)用法及代码示例
- Swift Optional symbolVariant(_:)用法及代码示例
- Swift Optional popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Optional mask(alignment:_:)用法及代码示例
- Swift Optional listSectionSeparatorTint(_:edges:)用法及代码示例
- Swift Optional badge(_:)用法及代码示例
- Swift Optional fullScreenCover(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional keyboardType(_:)用法及代码示例
- Swift Optional clipShape(_:style:)用法及代码示例
- Swift Optional preferredColorScheme(_:)用法及代码示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代码示例
- Swift Optional saturation(_:)用法及代码示例
- Swift Optional focusSection()用法及代码示例
- Swift Optional colorMultiply(_:)用法及代码示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)用法及代码示例
- Swift Optional focused(_:equals:)用法及代码示例
- Swift Optional hidden()用法及代码示例
- Swift Optional previewDevice(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional overlay(_:ignoresSafeAreaEdges:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。