我已经在NavigationView中设置了一个相对基本的List,但是当我执行旋转操作时,事情无法按预期进行。
以下屏幕截图显示了事件的顺序。
最初在 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())
}
}
理想情况下,我希望UI在旋转后保持相同的外观。
为了进行比较,当我使用 iOS 13.1(17A844)在物理iPad上运行此软件时,它的行为符合预期。