首页 > 解决方案 > 当 List 不仅是子级时,NavigationLink 保持突出显示

问题描述

NavigationView我对 a和 a有以下看法List

struct ContentView: View {
    
    @State private var sheet = false
    
    var body: some View {
        NavigationView {
            VStack {
                Text("Lorem Ipsum")
                List {
                    ForEach(1...30, id: \.self) { i in
                        NavigationLink(String(i), destination: EmptyView())
                    }
                }
            }
        }
    }
}

出于某种原因,Text在 顶部有一个视图List,这使得NavigationLink单击时保持突出显示并返回主视图。

有想法该怎么解决这个吗?

标签: swiftswiftui

解决方案


事实证明,可以通过.zIndex()在所有其他兄弟姐妹上设置更高的值来修复它,就像这样。

struct ContentView: View {
    
    @State private var sheet = false
    
    var body: some View {
        NavigationView {
            VStack {
                Text("Lorem Ipsum")
                    .zIndex(1)
                List {
                    ForEach(1...30, id: \.self) { i in
                        NavigationLink(String(i), destination: EmptyView())
                    }
                }
            }
        }
    }
}

推荐阅读