实例方法
coordinate
coordinateSpace(name:)
为视图的坐标空间分配一个名称,以便其他代码可以对相对于命名空间的点和大小等维度进行操作。
声明
func coordinateSpace<T>(name: T) -> some View where T : Hashable
参数
name
用于标识此坐标空间的名称。
详述
使用coordinateSpace(name:)
允许另一个函数查找和操作视图,并操作相对于该视图的维度。
下面的示例演示了嵌套视图如何查找和操作其封闭视图的坐标空间:
struct ContentView: View {
@State var location = CGPoint.zero
var body: some View {
VStack {
Color.red.frame(width: 100, height: 100)
.overlay(circle)
Text("Location: \(Int(location.x)), \(Int(location.y))")
}
.coordinateSpace(name: "stack")
}
var circle: some View {
Circle()
.frame(width: 25, height: 25)
.gesture(drag)
.padding(5)
}
var drag: some Gesture {
DragGesture(coordinateSpace: .named("stack"))
.onChanged { info in location = info.location }
}
}
在这里,名为“stack” 的ContentView
中的VStack
由一个红框组成,其中心有一个自定义的Circle
视图View/overlay(_:alignment:)
。
circle
视图有一个附加的DragGesture
,它以封闭的 VStack 的坐标空间为目标。由于手势识别器的关闭在 circle
中注册事件,它将它们存储在共享的 location
状态变量中,并且 VStack
在 Text
视图中显示坐标。
可用版本
iOS 13.0+, iPadOS 13.0+, macOS 10.15+, Mac Catalyst 13.0+, tvOS 13.0+, watchOS 6.0+
相关用法
- Swift Optional colorMultiply(_:)用法及代码示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:message:)用法及代码示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:presenting:actions:)用法及代码示例
- Swift Optional contentShape(_:_:eoFill:)用法及代码示例
- Swift Optional controlSize(_:)用法及代码示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:actions:)用法及代码示例
- Swift Optional cornerRadius(_:antialiased:)用法及代码示例
- Swift Optional contrast(_:)用法及代码示例
- Swift Optional containerShape(_:)用法及代码示例
- Swift Optional colorInvert()用法及代码示例
- Swift Optional contextMenu(menuItems:)用法及代码示例
- Swift Optional confirmationDialog(_:isPresented:titleVisibility:actions:message:)用法及代码示例
- Swift Optional compositingGroup()用法及代码示例
- Swift Optional clipShape(_:style:)用法及代码示例
- Swift Optional clipped(antialiased:)用法及代码示例
- 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 preferredColorScheme(_:)用法及代码示例
- Swift Optional background(_:ignoresSafeAreaEdges:)用法及代码示例
- Swift Optional saturation(_:)用法及代码示例
注:本文由纯净天空筛选整理自apple.com大神的英文原创作品 Optional coordinateSpace(name:)。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。