是否可以将NavigationButton更改为显示Image而不是Blue?

时间:2019-06-11 10:30:07

标签: ios swift swiftui

我正试图设置NavigationButton来显示图像,而不是仅是蓝色按钮。

当前,我正在显示由图像组成的水平Scrollview

这些图像应导致另一个视图,该视图将呈现在rootView上方。

但是,当我将这些图像包裹在NavigationButton周围时,这些图像原来只是蓝色,而不显示想要的原始图像。

CategoryRow组件(ScrollView

ScrollView(showsHorizontalIndicator: false) {
                HStack(alignment: .top, spacing: 0) {
                    ForEach(categorizeCountry()) { place in
                        NavigationButton(destination: PlaceDetail(place: place)) {
                            Image(place.imageName)
                                .resizable()
                                .clipShape(Rectangle())
                                .frame(width: 225, height: 150)
                                .cornerRadius(8)
                                .padding(.leading, 2)
                                .padding(.trailing, 2)
                        }
                    }
                }
            }

ContentView(呈现CategoryRow的地方)

var body: some View {
        NavigationView {
            List {
                FeaturedCard(places: fiveRandomPlaces)

                CategoryRow(label: "Australia")
                CategoryRow(label: "Japan")
                CategoryRow(label: "Singapore")
                CategoryRow(label: "Indonesia")

                ForEach(store.places) { place in
                    PlaceCell(place: place)
                }
            }
            .navigationBarTitle(Text("Been There"))
            .navigationBarItems(trailing: Button(action: sortPlaces) {
                Text("Sort")
            })
            .listStyle(.grouped)
        }
    }

我希望“图像”可以像按钮一样工作(但确实如此),但是仍然显示原始图像,而不是全是蓝色。

达到预期结果和实际结果的图像如下:

Expected Result

Actual Result

1 个答案:

答案 0 :(得分:7)

尝试更改渲染模式

Image(place.imageName)
    .renderingMode(.original)