博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
实现全屏滑动返回效果
阅读量:4974 次
发布时间:2019-06-12

本文共 992 字,大约阅读时间需要 3 分钟。

  系统自带了滑动手势返回效果,只是手势的触发范围只在页面左边边缘,自定义导航控制器可以实现全屏滑动返回效果,以下是核心代码:

- (void)viewDidLoad {    [super viewDidLoad];    NSLog(@"%@",self.interactivePopGestureRecognizer);    // 获取系统自带滑动手势的target对象    id target = self.interactivePopGestureRecognizer.delegate;    // 创建全屏滑动手势,调用系统自带滑动手势的target的action方法    UIPanGestureRecognizer *pan = [[UIPanGestureRecognizer alloc] initWithTarget:target action:@selector(handleNavigationTransition:)];    // 设置手势代理,拦截手势触发    pan.delegate = self;    // 给导航控制器的view添加全屏滑动手势    [self.view addGestureRecognizer:pan];    // 禁止使用系统自带的滑动手势    self.interactivePopGestureRecognizer.enabled = NO;}

 

 // 什么时候调用:每次触发手势之前都会询问下代理,是否触发。

// 作用:拦截手势触发

- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer{    // 注意:只有非根控制器才有滑动返回功能,根控制器没有。    // 判断导航控制器是否只有一个子控制器,如果只有一个子控制器,肯定是根控制器    if (self.childViewControllers.count == 1) {        // 表示用户在根控制器界面,就不需要触发滑动手势,        return NO;    }    return YES;}

 

 

参考链接:

转载于:https://www.cnblogs.com/guchunli/p/6247741.html

你可能感兴趣的文章
GNU make manual 翻译(二十六)
查看>>
poj1436
查看>>
iOS 电话在后台运行时,我的启动图片被压缩
查看>>
pod 常用命令
查看>>
MySQL修复打不开的视图定义
查看>>
PHP max_execution_time 超时
查看>>
NTBootAutofix:一款极为优秀的自动修复XP/VISTA/WIN7系统引导的工具
查看>>
js获取对象、数组的实际长度,元素实际个数
查看>>
asp.net 网站监控方案
查看>>
jquery 日期选择的方案
查看>>
Java数据类型和方法参数
查看>>
实验四
查看>>
一.Oracle的安装与连接
查看>>
【自然语言处理】LDA
查看>>
Lua 跟 C++ 的交互
查看>>
[2012山东省第三届ACM大学生程序设计竞赛]——Mine Number
查看>>
[转]浅谈 C 语言中的 malloc 和 free
查看>>
前端之css
查看>>
Procedure to Operate the Coal Grinding Mill
查看>>
ps -C
查看>>