Po kliknięciu selektora przechodzi do wybranego widoku. Lista przedmiotów jest renderowana zbyt daleko od góry, ale przyciąga się po zakończeniu animacji. Dlaczego to się dzieje?
Demo: https://gfycat.com/idioticdizzyazurevase
Stworzyłem już minimalny przykład, aby wykluczyć tytuły i przyciski paska nawigacji, tworzyć sekcje i inne szczegóły:
import SwiftUI
struct NewProjectView: View {
@State var name = ""
var body: some View {
NavigationView {
Form {
Picker("Client", selection: $name) {
Text("Client 1")
Text("Client 2")
}
}
}
}
}
struct NewProjectView_Previews: PreviewProvider {
static var previews: some View {
NewProjectView()
}
}
Dzieje się tak w trybie podglądu, symulatorze i na urządzeniu (Xcode 11.2, iOS 13.2 w symulatorze, 13.3 beta 1 na urządzeniu).
.listRowInsets()
.Odpowiedzi:
Oczywiście błędne zachowanie można obejść, wymuszając układanie stylu widoku nawigacji:
Jest to rozwiązanie mojego problemu, ale nie oznaczę tego jako zaakceptowanej odpowiedzi (jeszcze).
źródło
Moim zdaniem ma to coś wspólnego z paskiem nawigacji. Domyślnie (brak wzmianki o
.navigationBarTitle
rozszerzeniu) tryb wyświetlania nawigacji jest ustawiony na.automatic
, należy to zmienić na.inline
. Natknąłem się na inny post podobny do tego i używam ich rozwiązania do łączenia z twoim, używając.navigationBarTitle("", displayMode: .inline)
powinno pomóc.źródło
Dopóki ten błąd nie zostanie rozwiązany, innym sposobem obejścia tego problemu przy zachowaniu DoubleColumnNavigationViewStyle dla iPadów byłoby warunkowe ustawienie tego stylu:
źródło
Dzięki za ten wątek wszystkim! Naprawdę pomógł mi lepiej zrozumieć rzeczy i opanować jeden z moich problemów. Aby podzielić się z innymi, miałem ten problem, ale miałem również ten problem, gdy ustawiłem sekcję, aby pojawiała się w instrukcji if / else ustawionej w sekcji z przełącznikiem. Po włączeniu przełącznika przesuwa nagłówek sekcji w poziomie o kilka pikseli.
Oto jak to naprawiłem
Nadal mam przesunięcie w poziomie w widoku wyboru selektora i nie jestem pewien, jak to naprawić. Utworzyłem kolejny wątek do otrzymanych danych wejściowych. Dzięki jeszcze raz! Tekst SwiftUI Shift Picker w poziomie
źródło