swiftui - SwiftUI:如何在按钮单击时关闭(不是模态)子视图?
问题描述
我有一个带有 VStack 的 messageView 显示在主视图(不是模态 - 作为主视图的子视图)上,需要在单击按钮时关闭。我找到了如何使用 SwiftUI 以模式呈现和关闭视图,但没有找到针对这种情况的任何特定内容..
解决方案
如果您可以提供示例代码来演示您正在尝试的内容,那将会更容易。
如果我错了,请纠正我,但我对这个问题的理解是,一旦用户点击按钮,您就想隐藏视图。
为此,您可以使用 @State 属性包装器
struct MainView: View {
@State private var isMessageViewHidden: Bool = false
var body: some View {
Button(action: {
self.isMessageViewHidden = true
}) {
Text("itle")
}
if !isMessageViewHidden {
MessageView()
}
}
}
推荐阅读
- .net - xUnit 单元测试项目未读取 App.config
- webpack - 无法加载“webpack”,它没有注册!也许您缺少一些插件?
- osgi - OSGI 解析错误 - 缺少 system.bundle
- java - 如何在mac os上安装maven并在intellij IDE中实现
- php - 如何使用来自数据库的数据选择下拉选项?
- java - Spring Boot 2 升级问题:org.springframework.data.mapping.PropertyReferenceException:未找到类型 CampaignDetail 的属性单击
- javascript - 从附加的外部内容单击不起作用
- python - 如何从较长的字符串中提取数据?
- android - 滚动时Recyclerview闪烁
- elasticsearch - 无法通过 fluentd/elasticsearch 收集所有 kubernetes 容器/pod 日志