实例方法
popover(item:
popover(item:attachmentAnchor:arrowEdge:content:)
使用给定项目作为弹出框内容的数据源呈现弹出框。
声明
func popover<Item, Content>(
item: Binding<Item?>,
attachmentAnchor: PopoverAttachmentAnchor = .rect(.bounds),
arrowEdge: Edge = .top,
content: @escaping (Item) -> Content
) -> some View where Item : Identifiable, Content : View
参数
item
绑定到弹出框的可选事实来源。当
item
不是nil
时,系统会将内容传递给修饰符的闭包。您使用此内容来填充您创建的系统向用户显示的弹出框的字段。如果item
更改,系统将关闭当前呈现的弹出框并使用相同的过程将其替换为新的弹出框。attachmentAnchor
定义弹出框附着点的定位锚。默认值为
Anchor/Source/bounds
。arrowEdge
attachmentAnchor
的边,用于定义 macOS 中弹出框箭头的位置。默认值为Edge/top
。 iOS 忽略此参数。content
返回弹出框内容的闭包。
详述
当您需要显示包含自定义数据源内容的弹出框时,请使用此方法。下面的示例使用 PopoverModel
结构中的数据来填充弹出框向用户显示的 content
闭包中的视图:
struct PopoverExample: View {
@State var popover: PopoverModel?
var body: some View {
Button("Show Popover") {
popover = PopoverModel(message: "Custom Message")
}
.popover(item: $popover) { detail in
Text("\(detail.message)")
.padding()
}
}
}
struct PopoverModel: Identifiable {
var id: String { message }
let message: String
}
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+
相关用法
- Swift Never popover(isPresented:attachmentAnchor:arrowEdge:content:)用法及代码示例
- Swift Never position(x:y:)用法及代码示例
- Swift Never position(_:)用法及代码示例
- Swift Never pageCommand(value:in:step:)用法及代码示例
- Swift Never previewDisplayName(_:)用法及代码示例
- Swift Never progressViewStyle(_:)用法及代码示例
- Swift Never projectionEffect(_:)用法及代码示例
- Swift Never padding(_:_:)用法及代码示例
- Swift Never previewLayout(_:)用法及代码示例
- Swift Never previewDevice(_:)用法及代码示例
- Swift Never preferredColorScheme(_:)用法及代码示例
- Swift Never prefersDefaultFocus(_:in:)用法及代码示例
- Swift Never privacySensitive(_:)用法及代码示例
- Swift Never previewInterfaceOrientation(_:)用法及代码示例
- Swift Never padding(_:)用法及代码示例
- Swift Never opacity(_:)用法及代码示例
- 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 luminanceToAlpha()用法及代码示例
- Swift Never accessibilityAction(_:_:)用法及代码示例
- Swift Never badge(_:)用法及代码示例
- Swift Never buttonStyle(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Never popover(item:attachmentAnchor:arrowEdge:content:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。