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