实例方法
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 Never overlay(_:in:fillStyle:)用法及代码示例
- Swift Never overlay(alignment:content:)用法及代码示例
- Swift Never opacity(_:)用法及代码示例
- Swift Never onTapGesture(count:perform:)用法及代码示例
- Swift Never onSubmit(of:_:)用法及代码示例
- Swift Never onChange(of:perform:)用法及代码示例
- Swift Never offset(x:y:)用法及代码示例
- Swift Never offset(_:)用法及代码示例
- Swift Never pageCommand(value:in:step:)用法及代码示例
- Swift Never colorMultiply(_:)用法及代码示例
- Swift Never accessibilityAction(action:label:)用法及代码示例
- Swift Never alert(isPresented:error:actions:message:)用法及代码示例
- Swift Never confirmationDialog(_:isPresented:titleVisibility:actions:)用法及代码示例
- Swift Never flipsForRightToLeftLayoutDirection(_:)用法及代码示例
- Swift Never position(x:y:)用法及代码示例
- Swift Never position(_:)用法及代码示例
- Swift Never luminanceToAlpha()用法及代码示例
- Swift Never accessibilityAction(_:_:)用法及代码示例
- Swift Never previewDisplayName(_:)用法及代码示例
- Swift Never badge(_:)用法及代码示例
- Swift Never progressViewStyle(_:)用法及代码示例
- Swift Never buttonStyle(_:)用法及代码示例
- Swift Never popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Never projectionEffect(_:)用法及代码示例
- Swift Never background(_:ignoresSafeAreaEdges:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never overlay(_:ignoresSafeAreaEdges:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。