Xcode 如何在SwiftUI中关闭NavigationLink覆盖颜色?

Xcode 如何在SwiftUI中关闭NavigationLink覆盖颜色?,xcode,colors,navigation,swiftui,Xcode,Colors,Navigation,Swiftui,我使用ZStack设计了一个“CardView”,其中背景层是渐变层,前景层是PNG(或PDF)图像(图像是在Adobe Illustrator中绘制的黄色路径(如圆形)) 当我将ZStack放在NavigationLink中时,渐变保持不变,但图像的覆盖颜色为蓝色(如按钮的默认颜色),因此不再有黄色路径(路径为蓝色) 如何获得前景PNG(或PDF)图像的原始颜色 导入快捷键 结构MyCardView:View{ 让cRadius:CGFloat=35 让cHeight:CGFloat=220

我使用ZStack设计了一个“CardView”,其中背景层是渐变层,前景层是PNG(或PDF)图像(图像是在Adobe Illustrator中绘制的黄色路径(如圆形))

当我将ZStack放在NavigationLink中时,渐变保持不变,但图像的覆盖颜色为蓝色(如按钮的默认颜色),因此不再有黄色路径(路径为蓝色)

如何获得前景PNG(或PDF)图像的原始颜色


导入快捷键
结构MyCardView:View{
让cRadius:CGFloat=35
让cHeight:CGFloat=220
var body:一些观点{
导航视图{
导航链接(目的地:文本(“你好”)){
ZStack{
圆角转角(角半径:克拉迪乌斯)
.foregroundColor(.白色)
.不透明度(0)
.背景(线性渐变(渐变:渐变(颜色:[颜色(红色:109/255,绿色:58/255,蓝色:242/255)])、颜色(红色:57/255,绿色:23/255,蓝色:189/255)]、起点:。前导,终点:。尾随)、拐角半径:0)
.转弯半径(克拉迪乌斯)
.框架(高度:cHeight)
.padding()
图像(“someColoredPathPNGimage”)
}
}
}
}
}
试试:

图像(“someColoredPathPNGimage”).renderingMode(.original)

如果你的问题继续,考虑上传屏幕截图,让我们了解你的意思。如果您可以包含您正在使用的图像,那就更好了,这样我们就可以复制。

导航链接的作用类似于按钮,它获得默认的蓝色按钮样式

使用
.renderingMode(.original)
仅对
图像
视图有效。如果你决定使用一些lib或pod来加载你的图像怎么办

最好使用下面的修改器将默认按钮样式更改为普通:

NavigationLink(destination: Text("Hello")) {
            ZStack {
                RoundedRectangle(cornerRadius: cRadius)
                    .foregroundColor(.white)
                    .opacity(0)
                    .background(LinearGradient(gradient: Gradient(colors: [Color(red: 109/255, green: 58/255, blue: 242/255),Color(red: 57/255, green: 23/255, blue: 189/255)]), startPoint: .leading, endPoint: .trailing), cornerRadius: 0)
                    .cornerRadius(cRadius)
                    .frame(height: cHeight)
                    .padding()
                Image("someColoredPathPNGimage")
            }
        }
        .buttonStyle(PlainButtonStyle())  /*Here, is what you need*/

谢谢你的提示!我不知道如何构建自定义导航按钮(使用文本和图像)。你让我开心。