swiftswiftuinavigationviewswiftui-navigationlink

How to completely disable content highlighting for NavigationLink in SwiftUI?


NavigationLink(destination: DetailView()) {
    Image(systemName: "cloud.heavyrain")
        .foregroundColor(Color.accentColor)
        .font(.system(size: 66, weight: .regular))
}
.buttonStyle(PlainButtonStyle())

In this example .buttonStyle(PlainButtonStyle()) modifier changes highlighting to very mild, but still visible effect.


Solution

  • I came up with quite simple solution by creating a custom ButtonStyle without any modifiers in it:

    struct EmptyButtonStyle: ButtonStyle {
        func makeBody(configuration: Self.Configuration) -> some View {
            configuration.label
        }
    }