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