WWDC24 SALE: Save 50% on all my Swift books and bundles! >>

Issue with SwiftUI NavigationLink not working

Forums > 100 Days of SwiftUI

Hello everyone,

I'm currently working on a SwiftUI project as part of the "100 Days of SwiftUI" challenge, and I'm facing an issue with the NavigationLink. I have a list view where each row should navigate to a detail view when tapped, but nothing happens when I tap on the rows.

Here's the code I'm using for the NavigationLink:


Copy code

struct ContentView: View {

var body: some View {

    NavigationView {

        List {

            ForEach(items) { item in

                NavigationLink(destination: DetailView(item: item)) {









I have confirmed that the items array is populated with the correct data, and the DetailView is properly implemented. However, when I tap on a row, the destination view doesn't appear.

Am I missing something in my code or overlooking any requirements for NavigationLink to work properly? Any help would be greatly appreciated.

Thank you in advance!

Best regards, The Toilet Helper


It seems like your code is correct, and the issue may lie elsewhere. Here are a few things you can check to troubleshoot the problem with NavigationLink not working:

  1. Check the navigation stack: Make sure you have wrapped your initial view (ContentView) in a NavigationView. Without a NavigationView, the NavigationLink won't have a navigation stack to push the destination view onto.

  2. Confirm view hierarchy: Ensure that ContentView is the top-level view in your hierarchy and not nested within another view that might interfere with the navigation.

  3. Verify target view implementation: Double-check that the DetailView is implemented correctly and does not contain any code or modifiers that prevent it from being displayed.

  4. Test with a simpler example: Try creating a minimal example with just a single NavigationLink to see if it works. This can help isolate the issue and determine if it's related to the specific content or the overall setup.

  5. Test on a physical device or simulator: Ensure that you test the NavigationLink behavior on a physical device or simulator rather than relying solely on SwiftUI previews, as SwiftUI previews sometimes have limited navigation capabilities.

  6. Check for any conflicting modifiers: Review the modifiers applied to the List or Text views and ensure there are no conflicting modifiers or unexpected behavior that might interfere with the NavigationLink.

If none of these steps resolve the issue, it might be helpful to provide more details about the surrounding code or any error messages you're encountering. Additionally, consider consulting the SwiftUI documentation or reaching out to the SwiftUI community for further assistance.

Regards; David Johnson.


Save 50% in my WWDC sale.

SAVE 50% To celebrate WWDC24, all our books and bundles are half price, so you can take your Swift knowledge further without spending big! Get the Swift Power Pack to build your iOS career faster, get the Swift Platform Pack to builds apps for macOS, watchOS, and beyond, or get the Swift Plus Pack to learn advanced design patterns, testing skills, and more.

Save 50% on all our books and bundles!

Archived topic

This topic has been closed due to inactivity, so you can't reply. Please create a new topic if you need to.

All interactions here are governed by our code of conduct.

Unknown user

You are not logged in

Log in or create account

Link copied to your pasteboard.