SwiftUI:如何在按钮单击时关闭(非模态)子视图?

时间:2019-10-09 12:09:38

标签: swiftui

我有一个MessageView,该视图通过VStack显示在主视图(不是模态-作为主视图的子视图)上,需要在单击按钮时将其关闭。我发现了如何使用SwiftUI呈现和消除视图模态,但是没有找到针对此情况的任何细节。

1 个答案:

答案 0 :(得分:0)

如果您可以提供示例代码来演示您的尝试,就会更容易。

如果我错了,请纠正我,但是我对问题的理解是,一旦用户点击按钮,您想隐藏视图。

为此,您可以使用@State属性包装器

struct MainView: View {
   @State private var isMessageViewHidden: Bool = false

   var body: some View {
        Button(action: {
            self.isMessageViewHidden = true
        }) {
            Text("itle")
        }
        if !isMessageViewHidden {
            MessageView()
        }
    } 
}