美文网首页
Swift - 监听返回按钮及侧滑返回事件

Swift - 监听返回按钮及侧滑返回事件

作者: KingWorld | 来源:发表于2021-10-18 14:30 被阅读0次

今天记录一下监听返回按钮及侧滑返回事件的方法。

项目中,有些特殊的需求,需要监听左上角返回按钮的触发事件,之前的遇到这种问题,本能的想到重写leftBarButtonItem,但是重写后,侧滑事件就会被禁止,即使强制开启侧滑,但是侧滑事件返回后,并没有触发我们的特殊需求。

在不重写leftBarButtonItem的前提下,基于这种特殊需求,我拦截了系统的按钮返回事件和侧滑返回事件,实现一个代理,来统一管理返回事件中,需要实现的特殊需求。而为了不侵入项目,将此协议,放在扩展汇中。在需要触发返回事件的控制器中,调用协议方法即可。

协议:

/// 导航返回协议
@objc protocol NavigationProtocol {
    /// 导航将要返回方法
    ///
    /// - Returns: true: 返回上一界面, false: 禁止返回
    @objc optional func navigationShouldPopMethod() -> Bool
}

控制器扩展中,实现此协议

导航控制器中,遵守 UINavigationBarDelegate, UIGestureRecognizerDelegate, 重写

public func navigationBar(_ navigationBar: UINavigationBar, shouldPop item: UINavigationItem) -> Bool {}

重写此协议方法的目的是拦截返回按钮事件;

重写

public func gestureRecognizerShouldBegin(_ gestureRecognizer: UIGestureRecognizer) -> Bool {}

重写此协议方法的目的是拦截侧滑返回事件。

具体实现方法,请下载 demo,密码:vh8t

有个朋友说我用百度云太low,其实我就是懒而已。。。

在这里提供下Github地址:https://github.com/linjieYang/NavigationGoBack
————————————————
版权声明:本文为CSDN博主「LJ_Y」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/a645258072/article/details/80192020

相关文章

  • Swift - 监听返回按钮及侧滑返回事件

    今天记录一下监听返回按钮及侧滑返回事件的方法。 项目中,有些特殊的需求,需要监听左上角返回按钮的触发事件,之前的遇...

  • 系统导航右侧按钮侧滑变灰

    需求:自定义返回按钮之后,能正常使用系统侧滑返回。 问题:自定义返回按钮之后,发现侧滑返回时,系统导航右侧按钮侧滑...

  • 关于侧滑返回指定页面

    产品提出了一个需求,返回和侧滑返回都返回首页,返回就将返回按钮的触发事件定义为返回首页即可,侧滑返回,只要将目标控...

  • 侧滑返回功能

    既要自定义返回按钮,也要侧滑返回功能!! 当我们用自定义的按钮覆盖了系统的返回按钮时,侧滑返回功能会失效。 为什么...

  • 【iOS开发】Push时,画面卡住

    背景 使用leftBarButtonItem实现自定义返回按钮,从而导致侧滑返回失效。为了解决侧滑返回失效的问题,...

  • 自定义NavigationController的一般过程

    iOS NavigationController侧滑返回失效。 用leftBarButtonItem自定义返回按钮...

  • [Flutter]监听Android返回键事件

    需求监听Android返回键按钮点击事件 实现通过 WillPopScope 可以实现对返回键点击事件的监听,通过...

  • iOS 系统返回按钮事件拦截OC版本

    iOS 系统返回按钮事件拦截Swift版本 主要实现原理 如何使用 如何禁用系统?右滑返回手势 如何使用了 FDF...

  • iOS监听侧滑返回

    在我的界面上有一个加在keyWindow上的按钮。想在侧滑返回的时候像导航栏渐变消失。效果如下 核心代码 Demo

  • iOS自定义返回按钮右滑返回手势失效

    在自定义返回按钮的时候,侧滑手势返回往往默认失效了,怎么让侧滑有效呢 UIButton *btn =[UIButt...

网友评论

      本文标题:Swift - 监听返回按钮及侧滑返回事件

      本文链接:https://www.haomeiwen.com/subject/cflnoltx.html