Ios 使用GeometryProxy.named()似乎总是匹配.global或.local
我正在用SwiftUI编写一个应用程序,我希望能够使用Ios 使用GeometryProxy.named()似乎总是匹配.global或.local,ios,swift,swiftui,geometryreader,Ios,Swift,Swiftui,Geometryreader,我正在用SwiftUI编写一个应用程序,我希望能够使用GeometryReader计算出我在应用程序顶部的文本字段下方有多远。但无论我怎么做,我使用的.coordinateSpace()修饰符似乎总是与.global或.local完全相同,下面的示例代码就是证明,这会导致附加的图像 正如您所看到的,所有.named()几何体框架都与.global或.local框架相同,这让我得出结论,我肯定做错了什么,但我一辈子都搞不清楚是什么。有人能帮忙吗 我正在运行macOS 11.3.1,XCode 12
GeometryReader
计算出我在应用程序顶部的文本字段下方有多远。但无论我怎么做,我使用的.coordinateSpace()
修饰符似乎总是与.global
或.local
完全相同,下面的示例代码就是证明,这会导致附加的图像
正如您所看到的,所有.named()
几何体框架都与.global
或.local
框架相同,这让我得出结论,我肯定做错了什么,但我一辈子都搞不清楚是什么。有人能帮忙吗
我正在运行macOS 11.3.1,XCode 12.5模拟iOS 14.5
import SwiftUI
struct ContentView: View {
@State private var inputText = ""
var body: some View {
GeometryReader { fullView in
NavigationView {
VStack {
TextField("Enter text", text: $inputText)
.padding()
.coordinateSpace(name: "textField")
List {
ForEach(0..<10) { item in
GeometryReader { geo in
HStack {
Text("\(geo.frame(in: .global).midY, specifier: "%.0f")")
Text("\(geo.frame(in: .local).midY, specifier: "%.0f")")
Text("\(geo.frame(in: .named("textField")).midY, specifier: "%.0f")")
Text("\(geo.frame(in: .named("geometry")).midY, specifier: "%.0f")")
Text("\(geo.frame(in: .named("list")).midY, specifier: "%.0f")")
}
}
.coordinateSpace(name: "geometry")
}
}
.coordinateSpace(name: "list")
}
.navigationBarTitle("Test project")
}
}
}
}
导入快捷界面
结构ContentView:View{
@国家私有变量inputText=“”
var body:一些观点{
GeometryReader{fullView in
导航视图{
VStack{
文本字段(“输入文本”,文本:$inputText)
.padding()
.coordinateSpace(名称:“textField”)
名单{
ForEach(0。。