按钮SwiftUi内图像的背景颜色问题
Posted
技术标签:
【中文标题】按钮SwiftUi内图像的背景颜色问题【英文标题】:Issue with background color of an image inside a button SwiftUi 【发布时间】:2019-10-22 06:09:06 【问题描述】:按钮内的图像显示为蓝色。我不知道如何解决它。
Button(action: self.count += 1)
Circle()
.fill(LinearGradient(gradient: Gradient(colors: [Color("linkAccount1"), Color("linkAccount2")]), startPoint: UnitPoint(x: 0, y: 0.2), endPoint: UnitPoint(x: 1, y: 1)))
.frame(width: 80, height: 80)
.shadow(color: Color("shadowColor1"), radius: 7, y: 7)
.overlay(
//issue with image backgroud or foregroundColor
Image("linkAccount")
.resizable()
.aspectRatio(contentMode: .fit)
.frame(width: 60, height: 60))
解决方案: Image("linkAcount").renderingMode(.original)
【问题讨论】:
试试Image("linkAcount").renderingMode(.original)
这应该可以去除色调。
@Andrew 谢谢!
【参考方案1】:
根据我上面的评论,问题是由图像的渲染模式引起的。
您可以通过使用.renderingMode()
修饰符并将模式设置为.original
来克服着色问题。这告诉图像忽略色调。
Image("linkAcount").renderingMode(.original)
【讨论】:
【参考方案2】:按钮中包含的图像和文本以强调色呈现,默认为蓝色,只需应用:
.accentColor(.white)
到您的 Button 以将图像绘制为白色。
【讨论】:
以上是关于按钮SwiftUi内图像的背景颜色问题的主要内容,如果未能解决你的问题,请参考以下文章