Правильное использование NavigationLink без пользовательского интерфейса NavigationView Swift

#swiftui #swiftui-navigationlink #swiftui-navigationview

Вопрос:

У меня есть настраиваемая панель вкладок, которую я реализовал в учебнике. Ниже приведен HStack для этой пользовательской панели.

 struct CustomTabBar: View {
    
    @Binding var selectedTab: String
    @State var isLinkActive = true
    
    // Storiing Each Tab Midpointts to animate it in future...
    @State var tabPoints: [CGFloat] = []
    
    var body: some View {
        HStack(spacing: 0){
            
            // Tab Bar Buttons....
            TabBarButton(image: "house", selectedTab: $selectedTab, tabPoints: $tabPoints)
                .background(
                    NavigationLink("",destination: QuickTing())
                )
            TabBarButton(image: "person", selectedTab: $selectedTab, tabPoints: $tabPoints)
            TabBarButton(image: "gearshape", selectedTab: $selectedTab, tabPoints: $tabPoints)
        }
        .padding()
        .background(LinearGradient(gradient: Gradient(colors: [Color.orange, Color.pink]), startPoint: .bottomLeading, endPoint: .topTrailing).clipShape(TabCurve(tabPoint: getCurvePoint() - 15))
                    
        )
            
        .overlay(
            
            Circle()
                .fill(Color.pink)
                .frame(width: 10, height: 10)
                .offset(x: getCurvePoint() - 20)
            
            ,alignment: .bottomLeading
        )
        .cornerRadius(35)
        .padding(.horizontal)
       
    }
 

Всякий раз, когда я помещаю навигационную ссылку, она не показывает то представление, которое мне хотелось бы. Даже при использовании исправления emptyview() я получаю эту ошибку.

введите описание изображения здесь

Может ли кто-нибудь указать, почему я получаю эту ошибку, а также как реализовать навигационную ссылку без ущерба для дизайна пользовательской панели.

Комментарии:

1. Если вы не используете NavigationView, то вам не следует использовать NavigationLink. Вместо этого вы, вероятно, просто хотите, чтобы регулярные Button изменения влияли на состояние, которое хранится где-то, определяющее, какое представление отображается.

2. С точки зрения вашей синтаксической ошибки, для этого нет инициализатора NavigationLink , который выглядит именно так. Удалите первый параметр ( «» ), и он должен работать.

3. NavigationLink работает только внутри NavigationView.