SwiftUI NavigationView 看不到图像

SwiftUI NavigationView not see Image

我有一个代码并制作了 NavigationLink 按钮,我写了文本和图像,但我的图像看不到。请帮助我。

VStack{
        Image("Coachs")
            .resizable()
            .aspectRatio(contentMode: .fill)
            .frame(width: 370, height: 200)
            //.clipped()
            .cornerRadius(20.0)
        NavigationLink(destination: Text("Detail view here")){
            ZStack{
                Text("Press on me")
                    .foregroundColor(.white)
                    .font(.largeTitle)
                Image("Coachs")
                    .resizable()
                    .aspectRatio(contentMode: .fill)
                    .frame(width: 370, height: 200)
                    //.clipped()
                    .cornerRadius(20.0)

            }


        }}

看不懂我做屏

我根据您的代码进行了此测试,一切正常,ios 13.4 和催化剂,xcode 11.4 和 macos catalina 10.15.4

var body: some View {
    NavigationView {
        VStack {
            Image(systemName: "person.2.fill")
                .resizable()
                .aspectRatio(contentMode: .fill)
                .frame(width: 370, height: 200)
                //.clipped()
                .cornerRadius(20.0)

            NavigationLink(destination: Text("Detail view here")){
                ZStack{
                    Image(systemName: "person.2.fill")
                        .resizable()
                        .aspectRatio(contentMode: .fill)
                        .frame(width: 370, height: 200)
                        //.clipped()
                        .cornerRadius(20.0)
                    Text("Press on me")
                        .foregroundColor(.black)
                        .font(.largeTitle)
                }
            }
        }
    }.navigationViewStyle(StackNavigationViewStyle())
}

这看起来像是处理光栅图像的 SwiftUI 错误。请找到以下解决方法。使用 Xcode 11.4 / iOS 13.4

测试

这是用于您的目标的单元格示例。当然,在实际情况下,图像名称和导航 link 目的地等可以通过构造函数参数注入以供重用。

struct TestImageCell: View {
    @State private var isActive = false

    var body: some View {
        Image("large_image")    // raster !! image
            .resizable()
            .aspectRatio(contentMode: .fill)
            .frame(width: 370, height: 200)
            .cornerRadius(20.0)
            .overlay(
                Text("Press on me")              // text is over
                    .foregroundColor(.white)
                    .font(.largeTitle)
            )
            .onTapGesture { self.isActive.toggle() } // activate link on image tap
            .background(NavigationLink(destination:  // link in background
                Text("Detail view here"), isActive: $isActive) { EmptyView() })
    }
}

好的,我查看了其他图像类型,试试这个,应该可以:

    Image("IMG_4944")
        .renderingMode(.original)  // <----- this
        .resizable()
        .aspectRatio(contentMode: .fill)
        .frame(width: 370, height: 200)
        .clipped()
        .cornerRadius(20.0)