1

我已经设置了一个嵌入在 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())
    }
}

理想情况下,我希望 UI 在旋转后保持相同的外观。

作为比较,当我在使用iOS 13.1 (17A844)的物理 iPad 上运行它时,它的行为符合预期。

4

0 回答 0