PresentationButton在视图中隐藏图像

时间:2019-06-27 21:08:40

标签: swiftui

我正在尝试向包含一些PresentationButtonText的视图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-这对图像没有影响(仍然消失了),但是确实消除了蓝色。有什么想法吗?

2 个答案:

答案 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)