如何删除SwiftUI导航链接中的不透明度动画?

问题描述 投票:0回答:1

当点击导航链接时,它会稍微降低不透明度。有什么方法可以禁止这个功能。我试过使用 .buttonStyle(PlainButtonStyle()) 但这并没有达到预期的效果。

它被嵌入到一个滚动视图中(为了可定制,首选比List)。

ScrollView {
    ForEach(items){ item in
        NavigationLink(destination: DetailView()){
            HStack{
                Text("title")
                Spacer()
                Image(systemName: "chevron.right")
            }
            .padding()
            .background(
                RoundedRectangle(cornerRadius: 10, style: continuous)
                    .foregroundColor(Color.gray)
            )
        }
    }
}
swiftui navigationview navigationlink
1个回答
1
投票

这里是可能的解决方案。用Xcode 11.4 iOS 13.4测试。

使用自定义的按钮样式,只是返回标签视图(wo高亮效果)。

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

    NavigationLink(destination: DetailView()){
        HStack{
            Text("title")
            Spacer()
            Image(systemName: "chevron.right")
        }
        .padding()
    }.buttonStyle(FlatLinkStyle())     // << here !!
© www.soinside.com 2019 - 2024. All rights reserved.