Я изо всех сил пытаюсь найти способ в SwiftUI получить координаты x, y источника TextField (или любого вида). Я, конечно, могу указать позицию или смещение для перемещения вида, но я не могу найти способ получить ссылку на TextField, чтобы получить его координаты.
В UIKit, я думаю, я бы использовал myTextField.frame.origin.x
Это очень простой пример:
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