是否可以更改 NavigationButton 以显示图像而不是蓝色?

Posted

技术标签:

【中文标题】是否可以更改 NavigationButton 以显示图像而不是蓝色?【英文标题】:Is it possible to change a NavigationButton to display Image instead of Blue Color? 【发布时间】:2019-06-11 10:30:07 【问题描述】:

我正在尝试设置 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)
        
    

我希望图像可以用作按钮(确实如此),但仍显示原始图像,而不是全蓝。

预期结果和实际结果的图片如下:

【问题讨论】:

【参考方案1】:

尝试改变渲染模式

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

【讨论】:

以上是关于是否可以更改 NavigationButton 以显示图像而不是蓝色?的主要内容,如果未能解决你的问题,请参考以下文章

在 SwiftUI 中将 NavigationButton 与服务器请求一起使用

SwiftUI:NavigationButton 初始化程序给出错误

navigationBarItems 中的 SwiftUI NavigationButton

如何在没有 SwiftUI 中的 NavigationButton 的情况下导航到 NavigationView 中的另一个视图?

是否可以以编程方式更改 GWT RPC servlet 路径?

是否可以在前端更改时运行 nodemon 以重新启动服务器?