Я настроил относительно простой Список, встроенный в NavigationView, но когда я выполняю ротацию, все работает не так, как ожидалось.
На следующих снимках экрана показана последовательность событий.
Когда представление первоначально отображается на iPhone (работает под управлением iOS 13.1 17A844 )
Когда вид поворачивается из портретного в ландшафтный
Мой главный интерес здесьозначает, что кнопка «назад» исчезает.
Наконец, когда она поворачивается обратно в портрет
Уведомлениечто Bar Title
сжался и теперь выровнен с кнопкой возврата.
Это упрощенная версия кода, который я использую для создания этих экранов:
import SwiftUI
struct ViewA: View {
var body: some View {
NavigationView {
VStack {
NavigationLink(destination: ViewB()) {
Text("ViewB")
}
.frame(maxWidth: .infinity,
maxHeight: .infinity,
alignment: .center)
Divider()
NavigationLink(destination: ViewB()) {
Text("ViewB")
}
.frame(maxWidth: .infinity,
maxHeight: .infinity,
alignment: .center)
}
.padding(.all, 10)
.multilineTextAlignment(.center)
.navigationBarTitle(Text("Main blah"))
}
}
}
struct ViewB : View {
private let items = ["A", "B", "C"]
var body: some View {
List () { [items] in
ForEach(items.indices, id: \.self) { index in
NavigationLink(destination: DetailView(detail:
Detail(title: items[index]))) {
Text("Blah blah")
}
}
}
.navigationBarTitle(Text("Bar Title"))
.listStyle(GroupedListStyle())
}
}
В идеале, яхотел бы, чтобы пользовательский интерфейс сохранял тот же внешний вид после поворота.
Для сравнения, когда я запускаю это на физическом iPad с помощью iOS 13.1 (17A844) , ведет себя как положено.