全屏滑动
2015-10-13 16:01
309 查看
系统自带的手势是UIScreenEdgePanGestureRecognizer类型对象,屏幕边缘滑动手势
导航控制器全屏滑动注意点:
1.禁止系统自带滑动手势使用。
2.只有导航控制器的非根控制器才需要触发手势,使用手势代理,控制手势触发。
全屏滑动代码实现
导航控制器全屏滑动注意点:
1.禁止系统自带滑动手势使用。
2.只有导航控制器的非根控制器才需要触发手势,使用手势代理,控制手势触发。
全屏滑动代码实现
- (void)viewDidLoad { [super viewDidLoad]; // 获取系统自带滑动手势的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; }
相关文章推荐
- SqlDbType与DbType这间的转换关系
- 使用u盘装win7系统图文教程 如何使用U盘安装win7系统
- 安装oracle11g时,Enterprise Manager配置成功,出现以下警告……
- mysql性能优化-慢查询分析、优化索引和配置
- Office Delve 初窥 - What is Office Delve?
- C#: 双检锁 (Double Checked Locking)
- ADFS 概念与基本开发介绍 (1)
- delphi正则表达式学习笔记(三)
- Struts2多文件上传错误解决
- Python时间戳和日期
- Difference between ref and out parameters
- spring4 之 helloworld
- php 判断手机访问还是pc访问
- 标准模板库(八):STL算法函数介绍
- MVP名人榜
- android adb被占用解决办法 ADB server didn't ACK
- SQL Server: 删除 XML 字段的某个节点
- C#: 字符串连接 (+=) 与 StringBuilder 效率分析
- PowerShell: 远程调用
- PostGreSQL数据库检查(2)