It sounds like SwiftUI is capable, but not performant for his use case. Fair enough.
.onAppear {
// 0.05 is a guess. anything lower seems to run too early
// and does not have the desired effect.
DispatchQueue.main.asyncAfter(deadline: .now() + 0.05) {
focusTextField = true
}
}
Similarly, dismissing text field focus & on-screen keyboard upon scrolling/tapping away is a source of programming pain. It seemingly was bad in the old APIs. It is worse in SwiftUI in my limited experience. Same for scrolling a view such that an active text field isn't covered by the on-screen keyboard.