实现苹果系统自带的侧滑返回上一级效果
来源:互联网 发布:js this 改变指向 编辑:程序博客网 时间:2024/05/16 05:21
最近在公司老项目上更改,准备做版本迭代,发现此版本不能实现侧滑返回上一级效果,
最后在navigationController里面找到了突破口
@property(nullable, nonatomic, readonly) UIGestureRecognizer *interactivePopGestureRecognizer NS_AVAILABLE_IOS(7_0) __TVOS_PROHIBITED;
可以看到这个属性里面带有pop关键字
逐字翻译过来,就是交互式的返回手势识别器(见笑了)
设置当前控制器的导航控制器的这个属性为YES并且设置代理
self.navigationController.interactivePopGestureRecognizer.enabled = YES; self.navigationController.interactivePopGestureRecognizer.delegate = self;
最后实现两个代理方法即可
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return [gestureRecognizer isKindOfClass:UIScreenEdgePanGestureRecognizer.class];}- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES;}
如果想让所有的控制器都有这个效果,可以自定义一个控制器在自定义的控制器里实现这些方法,代理,等等,让其他的控制器继承自这个控制器就可以了
#import "LAUGlobalViewController.h"@interface LAUGlobalViewController ()<UIGestureRecognizerDelegate>@end@implementation LAUGlobalViewController- (void)viewDidLoad { [super viewDidLoad]; self.navigationController.interactivePopGestureRecognizer.enabled = YES; self.navigationController.interactivePopGestureRecognizer.delegate = self;}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldBeRequiredToFailByGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return [gestureRecognizer isKindOfClass:UIScreenEdgePanGestureRecognizer.class];}- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer{ return YES;}@end
0 0
- 实现苹果系统自带的侧滑返回上一级效果
- 苹果系统自带滑动返回功能
- iOS 开启ios7自带的滑动左侧返回上一级
- iOS8 苹果自带的毛玻璃效果
- 开启使用系统自带的侧滑返回
- android 左上角返回上一级的实现
- iOS侧滑返回上一级界面
- iOS 系统自带的侧滑返回触发时的方法调用情况
- android自带抽屉效果的实现
- 屏蔽系统自带UIViewController左向右滑动实现返回的功能
- 用Android自带的DrawerLayout和ActionBarDrawerToggle实现侧滑效果
- iOS 8系统自带毛玻璃效果实现
- 实现类似系统自带的提示框覆盖的效果
- 使用系统自带CheckBox实现单选效果的2个线性布局切换
- 添加侧滑手势返回上一级界面
- Linux返回上一级目录的命令
- 哈哈,苹果系统在虚拟机上运行的效果
- 自定义SwipeRefreshLayout实现上拉加载更多并自带系统的下拉刷新
- HibernateSessionFactory
- CI多表联查
- 【笔试】店铺选址+最短路径
- Java自动装箱与拆箱
- 漫话中文自动分词和语义识别(上):中文分词算法
- 实现苹果系统自带的侧滑返回上一级效果
- Matlab 中的线性规划函数使用方法
- HDU 5883 The Best Path (枚举 欧拉通路)
- JS制作字体图
- 大话数据库:第四章 创建和维护表
- 写一篇文章,几下以前看过的动漫和电视吧
- QRunnable如何返回执行信息
- 快速编译出WebRTC for Android 的一次记录
- 轮播图的javascript写法