2

我正在 SwiftUI 的详细视图中寻找有关禁用导航栏项目的帮助。

在此处输入图像描述

import SwiftUI

struct ContentView: View {

    //2 dimentionary lists
    var twoDimensionArray = [[1,2,3,4,5], [10,20,30,40,50], [33,55,66,77,88]]
    
    var body: some View {
        
        NavigationView{
        
            VStack{
                // Go through 2 dimensionary lists using both list and scrollview
                List {

                    ForEach(twoDimensionArray, id: \.self) { itemList in

                        VStack(alignment: .leading, spacing: 20){

                            ScrollView(.horizontal, showsIndicators: false){

                                HStack{

                                    ForEach(itemList, id: \.self) { item  in

                                        NavigationLink(destination: listDetailView()) {
                                            Text(String(item))
                                        }
                                
                                    }
                                    
                                }
                        
                             }
                            
                        }

                        }

                    }

            }
                    
        }
    }
    
}

struct listDetailView: View{
    
    var body: some View {
        
        Text("Test")
            .navigationBarTitle(Text("Manage Inspection"), displayMode: .inline)
            //The problematic navigation bar items that is inactive//
            .navigationBarItems(trailing: Button(action: {
                print("Test")
           }
           ) {
               Image(systemName: "plus.circle")
                   .font(.largeTitle)
            })

    }
}

struct ContentView_Previews: PreviewProvider {
    static var previews: some View {
        ContentView()
    }
}

问题:

基本上,当我从父视图导航到详细视图时,详细视图中的自定义导航栏项目以某种方式被禁用和不活动。

我尝试了多种方法但无法使其正常工作,程序的基本结构是:ContentView-> NavigationView-> List-> ScrollView-> ListDetails View-> Navigation bar items不活动且不工作

奇怪的是,如果我从父List View 更改为另一个ScrollView,那么它工作正常: 带有滚动视图的工作导航栏项目

但是,由于另一个依赖于 ListView 的函数,我必须使用 ListView 作为这种情况的父视图。

在这种情况下,如何使导航栏尾随项处于活动状态?

4

0 回答 0