實例方法
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:)。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。