我正在尝试向包含一些PresentationButton
和Text
的视图CardView中添加一个Image
。代码如下所示:
PresentationButton(destination: ProfileHost()) {
CardView()
}
这是我的CardView实现:
struct CardView : View {
@State var isCover = false
var cardFrame: (Length, Length) = (246.0, 391)
var fillColor = Color(red: 69/255, green: 60/255, blue: 201/255, opacity: 0.7)
var body: some View {
ZStack {
Image("image_large") // This is the image that disappears
.resizable()
CoverView(fillColor: fillColor)
.opacity(isCover ? 1:0)
}
.frame(width: cardFrame.0, height: cardFrame.1)
.cornerRadius(10)
}
}
运行预览后,CardView会变成蓝色,并且图像消失。所有文本不受影响。我认为这与accentColor
有关,我立即切换到Color.clear
-这对图像没有影响(仍然消失了),但是确实消除了蓝色。有什么想法吗?
答案 0 :(得分:3)
您可能要向图像中添加rederingMode
,如下所示:
PresentationButton(destination: CardStack()) {
Image("breast_image")
.renderingMode(.original)
.padding()
}
顺便说一句,这不是错误,Button
视图尝试将提供的图像用作模板(以呈现按钮状态),并且它需要知道您的图像应该呈现为实际图像。 / p>
答案 1 :(得分:0)
请向Button添加修改参数.buttonStyle(.plain)。在给定的情况下 代码必须是
PresentationButton(destination: ProfileHost()) {
CardView()
}.buttonStyle(.plain)