关于导航栏右滑返回的工具库 FDFullscreenPopGesture 是 OC 版本,用了 runtime 等各种骚操作

关于 swift ,我在 UINavigationController 的 viewDidLoad 方法中

class GMNavigationController: UINavigationController {

    override func viewDidLoad() {
super.viewDidLoad() self.addPanGes()
}
/// 将导航栏的右滑手势添加到 view 上面
func addPanGes() { interactivePopGestureRecognizer?.delegate = self
guard let targets = interactivePopGestureRecognizer?.value(forKey: "_targets") as?[AnyObject] else {
return
}
let dict = targets[]
//拿到action
let target = dict.value(forKey: "target") as Any
//通过字典无法拿到action,这里通过Selector方法包装action
let action = Selector(("handleNavigationTransition:"))
//拿到target action 创建pan手势并添加到全屏view上
let gesture = UIPanGestureRecognizer(target: target, action: action)
view.addGestureRecognizer(gesture)
     // 这里需要将导航栏的右滑手势去掉
self.interactivePopGestureRecognizer?.isEnabled = false
}
}

这样就可以达到的效果了。

swift 关于FDFullscreenPopGesture的右滑返回的更多相关文章

  1. iOS页面右滑返回的实现方法总结

    1.边缘触发的系统方法 ①系统返回按钮 self.navigationController.interactivePopGestureRecognizer.enabled = YES;  ②自定义返回 ...

  2. App开发流程之右滑返回手势功能续

    上一篇记录了利用系统私有变量和方法实现右滑返回手势功能:http://www.cnblogs.com/ALongWay/p/5893515.html 这篇继续记录另一种方案:利用UINavigatio ...

  3. App开发流程之右滑返回手势功能

    iOS7以后,导航控制器,自带了从屏幕左边缘右滑返回的手势功能. 但是,如果自定义了导航栏返回按钮,这项功能就失效了,需要自行实现.又如果需要修改手势触发范围,还是需要自行实现. 广泛应用的一种实现方 ...

  4. 想要隐藏navigationBar,同时又想支持右滑返回功能

    如果直接设置 self.navigationBarHidden = YES; 那同时也会屏蔽右滑返回功能. 解决办法1: self.navigationBarHidden = NO; self.nav ...

  5. SwipeBackLayout的使用方法,右滑返回

    使用方法: 需要右滑返回的activity继承baseActivity就可以, 如: public class SettingActivity extends BaseActivity {} 为防止滑 ...

  6. iOS系统右滑返回全局控制方案

    前言 今天有个小需求,在点击导航条上的返回按钮之前要调用某个API,并弹出UIAlertView来显示,根据用户的选项判断是否是返回还是继续留在当前控制器.举个简单的例子,当点击导航条上的左上角返回按 ...

  7. 全新的手势,侧滑返回、全局右滑返回都OUT啦!

    前言 Android快速开发框架-ZBLibrary 最近将以前的 全局右滑返回 手势功能改成了 底部左右滑动手势. 为什么呢?为了解决滑动返回手势的问题. 目前有3种滑动返回手势 一.侧滑返回 代表 ...

  8. 第二十六篇、因为自定item(nav)而使系统右滑返回手势失效的解决方法

    @interface ViewController () <uigesturerecognizerdelegate> @end@implementation ViewController ...

  9. navagationController 的子控制器如何取消右滑返回

    1.首先在navagationController的某个控制器中 遵守:UIGestureRecognizerDelegate 2.在viewDidload中设置: self.navigationCo ...

随机推荐

  1. 在Spring Boot中使用 @ConfigurationProperties 注解

    但 Spring Boot 提供了另一种方式 ,能够根据类型校验和管理application中的bean. 这里会介绍如何使用@ConfigurationProperties.继续使用mail做例子. ...

  2. windows server 2003产生的 Minidmp蓝屏文件分析求助

    在机房运行的四台服务器中均出现了蓝屏dmp文件,经过整理发现CDMS主备服务器最近(2018年1月开始)蓝屏的dmp很多.经过自己的学习分析发现不足以找到先关的原因和处理方法,希望得到大牛们的帮助.以 ...

  3. Linq to SQL -- Join

    Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操作. 说明:在Join操作中,分别为Join(Join查询), SelectM ...

  4. Postman 中上传图片的接口怎么做参数化呢?

    如题求教,麻烦回复在评论里,不胜感激~

  5. js中各种弹窗

    ** * JS提示跳转 * @param  $tip  弹窗口提示信息(为空没有提示) * @param  $type 设置类型 close = 关闭 ,back=返回 ,refresh=提示重载,j ...

  6. phpstudy中 MySQL版本升级

    问题由来:   在把数据库导入到本地库时,数据库出现报错    Error : Invalid ON UPDATE clause for 'update_time' column   查了下度娘说  ...

  7. spring boot 监听器实例

    在日常项目中订单创建成功后,会有类似各式各样的通知.有站内通知.短信通知.微信,app通知. 伪代码: 这里,只用伪代码示例.各式各样的通知 肯定不只一行代码.只是简化.如果后续还要增加各种各样的通知 ...

  8. 关于No qualifying bean of type [XXX.XXX] found for dependency 的一次记录

    异常开始于spring+springmvc+mybatis 注解配置,启动tomcat服务器出现No qualifying bean of type [com.***.service] found f ...

  9. 转载:深入浅出Zookeeper(一) Zookeeper架构及FastLeaderElection机制

    转载至 http://www.jasongj.com/zookeeper/fastleaderelection/: 原创文章,转载请务必将下面这段话置于文章开头处.本文转发自技术世界,原文链接 htt ...

  10. C#对象与XMl文件之间的相互转换(转)

    本文是对C#中对象与XMl文件之间的相互转换进行了详细的介绍,需要的朋友可以过来参考下,希望对大家有所帮助 C#提供三种序列化方式,分别为:1.是使用BinaryFormatter进行串行化: 2.使 ...