Ich habe einen sehr einfachen Proof of Concept:
Code: Select all
struct ContentView: View {
@State private var selectedDetent: PresentationDetent = .medium
var body: some View {
VStack {
Image(systemName: "globe")
.imageScale(.large)
.foregroundStyle(.tint)
Text("Hello, world!")
}
.padding()
.sheet(isPresented: .constant(true)) {
Text("hi")
.safeAreaInset(edge: .bottom) {
TextField("", text: .constant(""))
.border(.red)
}
.presentationDetents([.medium, .large], selection: $selectedDetent)
}
}
}
Wenn das Textfeld jedoch beim Tippen den Fokus erhält, wird es viel zu hoch nach oben und dann wieder nach unten auf die Tastaturhöhe animiert, was zu diesem wirklich unangenehm aussehenden Sprung führt. Da dies ein so einfaches Beispiel ist, vermute ich, dass es sich um einen Fehler in SwiftUI handelt, wenn mehrere Präsentationsrastungen und ein fokussiertes Textfeld kombiniert werden. Ich wollte mich jedoch zuerst bei der Community erkundigen, bevor ich das Feedback bei Apple einreiche, für den Fall, dass ich etwas Dummes mache.