正如这里(在一个iOS主题上)所详述的,以下代码可用于使SwiftUI
@Environment(\.presentationMode) var presentationMode
// ...
presentationMode.wrappedValue.dismiss()
但是,这种方法不适用于本机(不是Catalyst)macOS
理想情况下,当这些子视图中的任何一个使用上面的内容时,列表将返回到没有选择任何内容(就像它第一次启动时一样);然而,dismiss函数似乎什么也不做:视图保持完全相同。
这是一个bug,还是macOS的预期行为?
是否有另一种方法可以取而代之?
struct HelpView: View {
var body: some View {
NavigationView {
List {
NavigationLink(destination:
AboutAppView()
) {
Text("About this App")
}
NavigationLink(destination:
Text("Here’s a User Guide")
) {
Text("User Guide")
}
}
}
}
}
struct AboutAppView: View {
@Environment(\.presentationMode) var presentationMode
public var body: some View {
Button(action: {
self.dismissSelf()
}) {
Text("Dismiss Me!")
}
}
private func dismissSelf() {
presentationMode.wrappedValue.dismiss()
}
}
供参考:真正的目的是用于不太直接的场景(例如在任务完成时从
这里的解决方法很简单。不要在需要删除视图的地方使用导航视图。
请查看Apple https://developer.Apple.com/tutorials/swiftui/creating-a-macos-app提供的示例
如果你需要可视化的视图,有两种方式。
下面是macOS中SwiftUI的表的含义
struct HelpView: View {
@State private var showModal = false
var body: some View {
NavigationView {
List {
NavigationLink(destination:
VStack {
Button("About"){ self.showModal.toggle() }
Text("Here’s a User Guide")
}
) {
Text("User Guide")
}
}
}
.sheet(isPresented: $showModal) {
AboutAppView(showModal: self.$showModal)
}
}
}
struct AboutAppView: View {
@Binding var showModal: Bool
public var body: some View {
Button(action: {
self.showModal.toggle()
}) {
Text("Dismiss Me!")
}
}
}
还有第三个选项是使用ZStack在RootView中创建一个模态卡,并将不透明度更改为用动态数据显示和隐藏。
我想在点击项目时从列表中删除该项目。当我删除其中一个单元格时,所有其余的单元格点击指示器都显示它们也被点击了。 另外,它不会删除它,只是使它暂时不可见。当我重新加载页面时,删除的单元格再次出现在内存中,并且再次可见。
主要内容:基本语法,删除视图删除视图是指删除 MySQL 数据库中已存在的视图。删除视图时,只能删除视图的定义,不会删除数据。 基本语法 可以使用 DROP VIEW 语句来删除视图。 语法格式如下: DROP VIEW <视图名1> [ , <视图名2> …] 其中: 指定要删除的视图名。DROP VIEW 语句可以一次删除多个视图,但是必须在每个视图上拥有 DROP 权限。 删除视图 【实例】删除 v_students_
接口说明 删除视角 如需调用,请访问 开发者文档 来查看详细的接口使用说明 该接口仅开放给已获取SDK的开发者 API地址 POST /api/viewpoint/1.0.0/del 是否需要登录 是 请求字段说明 参数 类型 请求类型 是否必须 说明 id string form 是 视角ID 响应字段说明 无 响应成功示例 { "code": 200, "data": "", "m
通过该接口可以删除指定视频的信息,地址为: http://spark.bokecc.com/api/video/delete 需要传递以下参数: 参数 说明 videoid 视频id,不可为空 userid 用户id,不可为空 format 返回格式,xml 或json XML格式的返回信息如下: <?xmlversion="1.0"encoding="UTF-8"?> <result>OK</
点击删除,视频将被彻底删除,无法恢复,也不再占用存储空间。
请求header DELETE /v1/videos/{视频id} Authorization:Bearer {ACCESS TOKEN} Content-Type:application/json 注: 请将上方的{ACCESS TOKEN}替换为您的ACCESS TOKEN 请将"{视频id}"替换您需要获取的视频id 返回 { "result": "success" } 返回参数说明
我试图找出正确的方法,有条件地包括一个视图与swiftui。我不能直接在视图中使用,必须使用堆栈视图才能做到这一点。 这是可行的,但似乎会有更干净的方法。
问题内容: 我正在寻找一种简单的方法,可以一次从一个超级视图中删除所有子视图,而不是一个一个地删除它们。 我缺少什么? 更新 我的应用有一个main 。我必须添加其他不同的视图作为子视图,以便提供一种导航。 因此,当单击按钮“打开”特定页面时,我需要删除所有子视图并添加新的子视图。 更新2-可行的解决方案(OS X) 我猜苹果已经解决了。 现在,它比以往更容易了,只需致电: 问题答案: 编辑:(感