实例方法
sheet(item:
sheet(item:onDismiss:content:)
使用给定项目作为工作表内容的数据源呈现工作表。
声明
func sheet<Item, Content>(
item: Binding<Item?>,
onDismiss: (() -> Void)? = nil,
content: @escaping (Item) -> Content
) -> some View where Item : Identifiable, Content : View
参数
item
绑定到工作表的可选事实来源。当
item
不是nil
时,系统会将项目的内容传递给修饰符的闭包。您在系统向用户显示的您创建的工作表中显示此内容。如果item
发生更改,系统将关闭该工作表并使用相同的流程将其替换为新工作表。onDismiss
关闭工作表时要执行的关闭。
content
返回工作表内容的闭包。
详述
当您需要使用来自自定义数据源的内容呈现模式视图时,请使用此方法。下面的示例显示了一个自定义数据源 InventoryItem
,content
闭包用于填充操作表向用户显示的显示:
struct ShowPartDetail: View {
@State var sheetDetail: InventoryItem?
var body: some View {
Button("Show Part Details") {
sheetDetail = InventoryItem(
id: "0123456789",
partNumber: "Z-1234A",
quantity: 100,
name: "Widget")
}
.sheet(item: $sheetDetail,
onDismiss: didDismiss) { detail in
VStack(alignment: .leading, spacing: 20) {
Text("Part Number: \(detail.partNumber)")
Text("Name: \(detail.name)")
Text("Quantity On-Hand: \(detail.quantity)")
}
.onTapGesture {
sheetDetail = nil
}
}
}
func didDismiss() {
// Handle the dismissing action.
}
}
struct InventoryItem: Identifiable {
var id: String
let partNumber: String
let quantity: Int
let name: String
}
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift Optional sheet(isPresented:onDismiss:content:)用法及代码示例
- Swift Optional shadow(color:radius:x:y:)用法及代码示例
- Swift Optional symbolVariant(_:)用法及代码示例
- Swift Optional saturation(_:)用法及代码示例
- Swift Optional submitLabel(_:)用法及代码示例
- Swift Optional speechAlwaysIncludesPunctuation(_:)用法及代码示例
- Swift Optional submitScope(_:)用法及代码示例
- Swift Optional scaledToFill()用法及代码示例
- Swift Optional searchCompletion(_:)用法及代码示例
- Swift Optional safeAreaInset(edge:alignment:spacing:content:)用法及代码示例
- Swift Optional simultaneousGesture(_:including:)用法及代码示例
- Swift Optional scaledToFit()用法及代码示例
- Swift Optional scenePadding(_:)用法及代码示例
- Swift Optional scaleEffect(_:anchor:)用法及代码示例
- Swift Optional scaleEffect(x:y:anchor:)用法及代码示例
- Swift Optional swipeActions(edge:allowsFullSwipe:content:)用法及代码示例
- 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:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional sheet(item:onDismiss:content:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。