如何在swiftui中将自定义图像插入为navigationBarItem

如何在swiftui中将自定义图像插入为navigationBarItem,swiftui,Swiftui,我试图使用我的资产中的图像作为导航栏项,如下所示: navigationBarItems(leading: Button(action:{ self.presentMap = true }) { Image("map_pin") .resizable()

我试图使用我的资产中的图像作为导航栏项,如下所示:

navigationBarItems(leading: Button(action:{
                        self.presentMap = true
                    }) {
                        Image("map_pin")
                            .resizable()
                            .aspectRatio(contentMode: .fit)
                            .frame(width: 34, height: 34)
                    }
我的作品不幸的是,图像被纯色遮住了,所以我只能看到形状。
是否有一种简单的方法可以按原样显示图像?

您需要添加修改器
渲染模式(.original)
这将停止纯色蓝色的覆盖

Image("map_pin")
    .renderingMode(.original)
    .resizable()
    .aspectRatio(contentMode: .fit)
    .frame(width: 34, height: 34)
或者您可以将以下修改器添加到按钮
.buttonStyle(PlainButtonStyle())

看看保罗·哈德森的这篇文章

区别是微妙的,但很重要:如果您使用的是按钮 在列表中,使用.buttonStyle(PlainButtonStyle())意味着 只能点击按钮内容周围的空间, 而如果使用.renderingMode(.original),则整个单元格 保持可打开状态


您需要添加修改器
renderingMode(.original)
这将停止纯色蓝色的覆盖

Image("map_pin")
    .renderingMode(.original)
    .resizable()
    .aspectRatio(contentMode: .fit)
    .frame(width: 34, height: 34)
或者您可以将以下修改器添加到按钮
.buttonStyle(PlainButtonStyle())

看看保罗·哈德森的这篇文章

区别是微妙的,但很重要:如果您使用的是按钮 在列表中,使用.buttonStyle(PlainButtonStyle())意味着 只能点击按钮内容周围的空间, 而如果使用.renderingMode(.original),则整个单元格 保持可打开状态