SwiftUI获取TextField或任何视图的坐标

时间:2020-04-22 00:39:44

标签: ios xcode swiftui

我正在努力寻找一种在SwiftUI中获取a的原点的x,y坐标的方法 TextField(或任何视图)。我当然可以提供一个位置或偏移量来移动视图 但我似乎找不到一种方法来获取对TextField的引用以获取其 坐标。

在UIKit中,我相信我会使用myTextField.frame.origin.x

enter image description here

这是一个非常简单的示例:

struct ContentView: View {

    @State private var someNumber1 = "1000"
    @State private var someNumber2 = "2000"
    //bunch more

    @State private var enteredNumber = "Some Text at the Top"
    @State var value: CGFloat = 0

    var body: some View {
        ScrollView {
            VStack {
                Spacer()
                Text("\(enteredNumber)")
                Spacer()

                Group { //1
                    TextField("Placeholder", text: $someNumber1)
                        .keyboardType(.default)
                        .textFieldStyle(RoundedBorderTextFieldStyle())

                        //this does not work
                        .onTapGesture {
                            let aY = (textfieldreferencehere).frame.origin.y
                        }

                    TextField("Placeholder", text: $someNumber2)
                        .keyboardType(.default)
                        .textFieldStyle(RoundedBorderTextFieldStyle())
               }//group 1     

               //bunch more

                Button(action: {
                    self.enteredNumber = self.someNumber1
                    self.someNumber1 = ""
                    UIApplication.shared.endEditing()
                }) {
                    Text("Submit")
                }
                .padding(.bottom, 50)

            }//outer v
                .padding(.horizontal, 16)
                .padding(.top, 44)

        }//Scrollview or Form
        .modifier(AdaptsToSoftwareKeyboard())
    }
}

任何指导将不胜感激。 Xcode 11.4.1

1 个答案:

答案 0 :(得分:3)

这里是演示如何读取特定视图坐标的演示(请参见内联有用的注释)

angular.json