首页 > 解决方案 > NavigationView 在纵向模式下消失

问题描述

为什么NavigationView将我的设备旋转到纵向模式时我的消失。我已经为我的应用启用了所有方向。

在此处输入图像描述

在此处输入图像描述

import SwiftUI

struct Stocks: Identifiable{
    var id  = UUID()
    var name = String()
}

struct ContentView: View {

    let stocks: [Stocks] = [
        Stocks(name: "Agricultural Bank of China"),
        Stocks(name: "China Communications Construction"),
        Stocks(name: "China Communications Construction Company Limited"),
        Stocks(name: "China Merchants Shekou Industrial Zone Holdings"),
        Stocks(name: "China Railway Construction Corporation Limited"),
        Stocks(name: "China State Construction Engineering Corporation "),
        Stocks(name: "Daqin Railway Company Limited"),
        Stocks(name: "Guotai Junan Securities"),
        Stocks(name: "Huaneng Power International"),
        Stocks(name: "Industrial and Commercial Bank of China"),
        Stocks(name: "Jiangsu Yanghe Brewery"),
        Stocks(name: "Kweichow Moutai"),
        Stocks(name: "Ping An Bank"),
        Stocks(name: "Shanghai International Port Group"),
        Stocks(name: "Shanghai Pudong Development Bank"),
        Stocks(name: "Wuliangye Yibin Company Limited")]

    var body: some View {
        NavigationView {
            List(stocks) {stock in
                    VStack(alignment: .leading){
                        Text(stock.name).font(.title)
                    }
            }
            .navigationBarTitle(Text("FTSE China A50 Index"))
        }
    }
}
struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

标签: iosswiftxcodeswiftui

解决方案


当您将 iPad 旋转到纵向模式时,它会隐藏左侧窗格,从左侧边缘滑动可以再次显示该窗格。我还没有找到任何方法来防止它自动隐藏。如果您稍微修改一下代码,您可以更清楚地看到发生了什么:

var body: some View {
    NavigationView {
        List(stocks) {stock in
            VStack(alignment: .leading){
                NavigationLink(stock.name, destination: Text(stock.name)).font(.title)
            }
        }
        .navigationBarTitle(Text("FTSE China A50 Index"))
    }
}

现在,如果您单击一行,您将在右侧的详细信息窗格中看到它,并且您会注意到,如果您旋转到纵向,它会显示出来。


推荐阅读