如何在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),则整个单元格
保持可打开状态