SwiftUI 中模态表可以有导航栏吗?

2024-01-06

我在代码中通过导航栏按钮呈现模式表:

struct MainPage : View {

    @State var isModalSheetShown: Bool = false

    var body: some View {
        VStack {
            [...]
        }
        .navigationBarItems(trailing: HStack {
            Button(action: { self.isModalSheetShown = true }) {
                Text("Add")
            }
        })
        .sheet(isPresented: $isModalSheetShown, content: {
            VStack {
                [...]
            }
            .navigationBarItems(trailing: HStack {
                Button(action: { ... }) {
                    Text("Done")
                })
            })
        })
    }
}

但导航栏不会出现在模式表中,如下所示。

我做错了什么,如何在模式表上放置导航栏?


您必须将模态视图包装在NavigationView像这样

@State var isModalSheetShown: Bool = false

var body: some View {
    VStack {
        Text("Main")
    }
    .navigationBarItems(trailing: Button("Add",
                                         action: { self.isModalSheetShown = true }))
    .sheet(isPresented: $isModalSheetShown) {
        NavigationView {
            VStack {
                Text("Modal")
            }
            .navigationBarItems(trailing: Button("Done",
                                                 action: {}))
        }
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SwiftUI 中模态表可以有导航栏吗? 的相关文章

随机推荐

  • Mule AMQP 传输 3.6.2 社区可能存在的错误

    我一直在追踪一些奇怪的行为 最终成功地将其隔离 我相信这是一个错误 为了重现该行为 我创建了 4 个测试流程 在 4 个不同的 mule 文件中
  • 错误:找不到资源映射||确保首先安装 CRD

    错误 未找到名称的资源映射 ingress srv 名称空间 ingress srv yaml 中的 版本 networking k8s io v1beta1 中的类型 Ingress 不匹配 确保首先安装 CRD 我是 Kubernete
  • Swagger Codegen basePath 被忽略

    我正在尝试使用生成一些网络服务定义Swagger 代码生成 2 2 1 所有配置都正常工作 并且我的类已正确生成 yaml定义 为何选择该物业basePath被忽视了 My RestController仅使用生成paths定义 https
  • 使用 Chart.js 根据时间字符串绘制单圈时间

    我正在尝试使用 Chart js 绘制一个折线图 显示一系列单圈时间的趋势 但我正在努力将时间字符串解析为正确的格式 我有一个带有这样的单圈持续时间 分钟 秒 毫秒 的时间数组 我将其用作数据集 const times 1 32 599 1
  • Target Boost:: 已导入位置 + 链接错误

    我正在使用 Homebrew 在 MacOS Mojave 上安装 LLVM Boost 和 CMake 将我的 LLVM 升级到版本 9 0 0 并将 Boost 升级到 1 71 0 后 CMake v3 15 3 开始抱怨各种库已经具
  • C++ 整数->std::字符串转换。功能简单?

    问题 我有一个整数 该整数需要转换为 stl string 类型 过去我用过stringstream进行转换 这有点麻烦 我知道 C 方法是做一个sprintf 但我更愿意做一个类型安全 呃 的 C 方法 有一个更好的方法吗 这是我过去使用
  • 使用并行集合就地转换数组

    当拥有一组对象时 通常需要 例如出于性能原因 更新 替换 某些对象 例如 如果您有一个整数数组 您可能希望将负整数替换为正整数 Faster for primitives var i 0 while i lt a length if a i
  • 将相等运算符与 boost::Optional 一起使用

    我试图为另一个命名空间中定义的类型 T 定义一个相等运算符 然后在optional
  • Asp.Net UpdatePanel错误

    我在我的 aspx 页面中使用 UpdatePanel 并使用 DropDownListonselectedindexchanged方法 第一次运行时onselectedindexchanged方法正在发挥作用 但是再次更改选择它会返回这样
  • 用于嵌入式 Tomcat 8.5 的 Tomcat Maven 插件

    我正在运行 Spring Web 应用程序 但无法使用 Tomcat 8 5 在最新的 Eclipse 中执行嵌入式 tomcatTomcat 7 Maven 插件 http tomcat apache org maven plugin t
  • ASP.Net Core:如何更新(更改/添加/删除)嵌套项对象(一对多关系)?

    我有一个带有 MSCustomers 和 MSLocations 的 Net 5 x 项目 MSLocations 与 MSCustomers 之间存在多对一的关系 我的 编辑 页面正确显示 MSCustomer 记录和相应的 MSLoca
  • 使用软键盘时不会调用 onKeyDown

    我的 Activity 的 xml 代码是
  • 如何使用 Mercurial 自动合并 2 个头

    我们刚刚从 subversion 切换到 Mercurial 有一件事比预期花费了更多的时间 合并头 我们喜欢这样一个事实 它使合并独立于 2 个提交 与 subversion 相比 但我们最终会定期合并 2 个头以进行不相关的更改 简单的
  • 隧道和冒泡事件何时在 WPF 中有用?

    我了解冒泡和隧道的工作原理 但是 我对使用它们感到困惑 原因如下 我想处理鼠标点击事件 要使其起泡 有MouseDown并且 为了隧道化 有PreviewMouseDown 然而 MouseDown并不一定意味着用户单击了该控件 可能是用户
  • 如何使用 Objective C iOS 删除 iPhone X 中表格视图顶部的多余空间

    我已经用 Objective C 开发了一个应用程序 它在所有 iPhone 手机上运行良好 但是当我在 iPhone X 模拟器中运行这个应用程序时 我不知道如何在 UITableView 的顶部获得一些额外的空间 大约 20 22 像素
  • 行高属性:正常+4px

    我想要normal行高加上 4px 我努力了 line height normal 4px 但这行不通 Note 我不想使用百分比进行近似 为什么不直接去掉 Chrome 的小焦点眩光呢 使用CSS属性outline none http j
  • 在管道中发送 EOF 而不关闭它

    我正在编写一个使用 GnuPlot 来绘制数据的应用程序 我决定使用 二进制 格式 而不是使用文本格式通过管道来通信两个程序 由于 vprintf 和传递的数据量很大 速度很慢 问题是 在二进制格式中 GnuPlot 期望 EOF Ctrl
  • Laravel 5.2:csrf 令牌不起作用

    您好 为什么我的 csrf 令牌值为 null 当我不使用令牌时 我没有 TokenMismatchException 我该如何解决它 我更深入地挖掘 发现会话没有在 SessionServiceProvider 中注册 是否需要启用某些功
  • 编写交叉兼容的 Python 2/3:__future__、6 和 future.utils 之间的区别?

    我正在编写交叉兼容的 Python 2 和 3 代码 并从中得到一些帮助备忘单 http python future org compatible idioms html 我注意到有不同的包和模块可以帮助做到这一点 future包 例如fu
  • SwiftUI 中模态表可以有导航栏吗?

    我在代码中通过导航栏按钮呈现模式表 struct MainPage View State var isModalSheetShown Bool false var body some View VStack navigationBarIte