隐藏导航栏而不丢失 SwiftUI 中的向后滑动手势

2023-12-30

在 SwiftUI 中,每当导航栏隐藏时,滑动返回手势也会被禁用。

有没有什么方法可以隐藏导航栏,同时保留 SwiftUI 中的向后滑动手势?我已经有一个自定义的“后退”按钮,但仍然需要手势。

我已经看到了 UIKit 的一些解决方案,但仍然不知道如何在 SwiftUI 中做到这一点

这是您自己尝试的代码:

import SwiftUI

struct RootView: View {
    var body: some View {
        NavigationView {
            NavigationLink(destination: SecondView()) {
                Text("Go to second view")
            }
        }
    }
}

struct SecondView: View {
    var body: some View{
        Text("As you can see, swipe to go back will not work")
        .navigationBarTitle("")
        .navigationBarHidden(true)
    }
}

任何建议或解决方案将不胜感激


这应该通过扩展来工作UINavigationController.

extension UINavigationController: UIGestureRecognizerDelegate {
    override open func viewDidLoad() {
        super.viewDidLoad()
        interactivePopGestureRecognizer?.delegate = self
    }

    public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {
        return viewControllers.count > 1
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

隐藏导航栏而不丢失 SwiftUI 中的向后滑动手势 的相关文章

随机推荐

  • Objective-C 联合“->”与“.”

    首先我要说的是 我对整个结构和联合的事情还很陌生 在发布此内容之前我已经做了功课 并诚实地试图获得合法的澄清 如果这是错误的方法 请告诉我 首先 我尝试创建一个联合 因为我正在组合不同的数据类型 我唯一真正的问题 问题是点运算符与 gt 我
  • “hello world”字符串文字可以分配给 char * 类型吗?

    char foo fpp compile in vs 2010 with no problem 我认为字符串文字是 const char 类型 并且 const 类型不能赋值给非 const 类型 所以我预计上面的代码会失败或者我错过了什么
  • 与 Teamcity 和 Clearcase 持续集成

    有没有人成功地将 Clearcase 与 Teamcity 宣传 Clearcase 支持 集成 以在一个相当规模的项目上实现高效的持续集成构建环境 是的 我们有 但是有一个TeamCity 的自定义 ClearCase 插件 为了 使用动
  • Android 从 mySql 获取数据

    我必须从服务器上的 MySQL 数据库获取一些数据 我有以下代码 但是当我运行它时应用程序崩溃了 我也得到了权限被拒绝 缺少 INTERNET 权限 在我的 Logcat 中 即使我在 Android 清单中指定了互联网权限 知道这里可能出
  • Grails 编程式事务处理

    我的 Grails 应用程序有一个服务方法 可以更新来自 last fm 的 Web 服务的艺术家列表 Transactional propagation Propagation NOT SUPPORTED void updateLastF
  • 将 MvxBindableTableViewCell 的 Accessory 绑定到 boolean

    我被困在如何将 MvxBindableTableViewCell 的附件绑定到布尔值上 我将表的 ItemsSource 绑定到 ViewModel 中的列表 显示了一个很好的可单击项目列表 不过 我希望单元格的附件 UITableView
  • 定义为宏的标准库函数的参数类型错误

    这是示例代码 include
  • 如何在 WSL 2 下运行 docker-compose

    根据Docker 文档 https docs docker com docker for windows wsl tech preview 在 WSL v2 下使用 Docker 应该相当简单 安装 WSL 2 确保满足所有先决条件 安装
  • 如何使用 git 将多个项目分叉到一个存储库中?

    我有 3 个项目想要 fork 它们都是相互关联的 改变一个可能需要改变另一个 因为它们都是相关的 所以我想为分支创建 1 个存储库 同时保持从每个原始版本中提取更新的能力 我将如何设置我的 git 存储库 这些都是初步的想法 所以如果这是
  • Javascript:使用 concat 和 reduce 进行练习

    我正在做一个练习 从数组数组开始 我必须将其减少 使用reduce 和 concat 到单个数组中 该数组包含给定的每个数组的所有元素 所以我从这个开始 var array 1 2 3 4 5 6 7 8 9 我用这个解决了这个练习 var
  • 创建自定义连续分布时使用 scipy rv_continuous 的方法

    我正在尝试计算E f x 对于我根据数据生成 估计的一些pdf 它在文档中说 子类化 可以通过子类化 rv continuous 类来定义新的随机变量 并至少重新定义 pdf 或 cdf 方法 标准化为 位置 0 和比例 1 将被给予干净的
  • 如何在 Spring Boot 独立应用程序中激活 JMX 监控

    我浏览了几乎所有文档 但无法掌握这个神秘的东西 所以我的问题是 我可以使用我的独立 Spring Boot 应用程序吗通过 http jmx url 监控我的应用程序的运行状况和其他指标 我需要为此配置其他东西吗 我在启动应用程序中添加了以
  • iPhone 相机光圈/快门卡在关闭位置

    正如标题所述 我正在开发的应用程序存在一个问题 只有在进入后台后重新启动应用程序时才会出现问题 相机光圈或快门卡在关闭位置 有趣的是 你仍然可以拍照 但看不到预览 拍摄照片后 它会正确显示在视图中 如果应用程序完全关闭 则启动应用程序时不会
  • 如何像传统方式一样使用 AngularJs 上传文件

    我已经尝试这个好几天了 假设我有如下形式
  • Android Q:如何从特定目录获取图像列表

    Android 问 我需要从我保存图像的特定目录中获取图像列表 并将这些图像显示在我的应用程序上 保存图片代码 final String relativeLocation Environment DIRECTORY PICTURES Fil
  • DB2 的数据模型工具

    我在 DB2 中创建了一个数据库和具有关系的表 我想根据我在 DB2 中的数据库设计创建一个 ER 图 MS SQL 有一种从 DB 模式创建 ER 图的工具 但 DB2 似乎没有 至少据我所知 有人知道 DB2 本身有任何开源工具 设施吗
  • 具有模板函数的模板类

    谁能告诉这段代码有什么问题吗 template
  • 如何通过viewModels获取viewModel? (片段-ktx)

    我正在为 Activity 及其所有片段使用 Single viewModel 所以要初始化viewmodel如果必须编写此设置代码onActivityCreated所有片段的 override fun onActivityCreated
  • Node.js 和 Multer - 在回调函数 (req,res) 中处理上传文件的目的地

    我是 Node js 新手 最近遇到了一个简单的问题 我在用着multer上传图像的模块 在我的网络应用程序中 所有用户都有一个唯一的 ID 我希望将上传的图像存储在根据他们的 ID 命名的目录中 Example public upload
  • 隐藏导航栏而不丢失 SwiftUI 中的向后滑动手势

    在 SwiftUI 中 每当导航栏隐藏时 滑动返回手势也会被禁用 有没有什么方法可以隐藏导航栏 同时保留 SwiftUI 中的向后滑动手势 我已经有一个自定义的 后退 按钮 但仍然需要手势 我已经看到了 UIKit 的一些解决方案 但仍然不