【发布时间】:2021-09-13 00:00:52
【问题描述】:
当我使用 .contextMenu(menuItems:) 修饰符时,我遇到了一些 SwiftUI 视图(在某些配置下)将它们的位置转移到屏幕中心的问题,我不知道为什么。我在以下代码示例中以简化的方式重现了该问题:
struct ContentView: View {
var body: some View {
Path { path in
path.move(to: CGPoint(x: 200, y: 100))
path.addLine(to: CGPoint(x: 100, y: 300))
path.addLine(to: CGPoint(x: 300, y: 300))
path.addLine(to: CGPoint(x: 200, y: 100))
}
.contextMenu {
Text("hello world")
}
}
}
struct ContentView: View {
var body: some View {
Circle()
.position(x: 0, y: 0)
.frame(width: 50, height: 50, alignment: .bottom)
.contextMenu {
Text("hello world")
}
}
}
如果有人知道这里发生了什么,我将不胜感激。我使用的是 Xcode 12.5.1、macOS 11.4 和 iOS 14.5。
【问题讨论】:
-
这可能是
position- 尝试删除它 -
@aheze 删除
position确实有效,但不幸的是我无法解决这个抽象的问题......你知道为什么position会导致问题吗?如果这是一个 SwiftUI 错误,你认为值得向 Apple 提交 technical support incident 吗?
标签: swift xcode swiftui contextmenu frame