IOS开发—视图控制器左边缘右滑pop出栈
来源:互联网 发布:如何认定利用网络犯罪 编辑:程序博客网 时间:2024/04/28 01:21
IOS视图控制器左边缘右滑pop出栈
IOS7.0之后,苹果优化了一个小功能,就是对于UINavagationController堆栈里的UIViewController,只要轻轻在视图控制器的左边缘右滑一下,该视图控制器就会pop出栈(前提当然是对于非根视图控制器而言)。实现方法很简单,一句话搞定:
- self.navigationController.interactivePopGestureRecognizer.enabled = YES;
事实上对于一个视图控制器而言,该属性的默认值即为YES,因此不设置也能实现右滑pop的功能。然而这个功能很有局限性,因为它不允许当前视图控制器自定义了leftBarButtonItem,一旦自定义,右滑功能就会失效。这里有一个方法:
- self.navigationController.interactivePopGestureRecognizer.delegate = nil;
设置代理为nil之后即便自定义了leftBarButtonItem也可以右滑pop。
事实上如果自定义了leftBarButtonItem,常用的做法是重新设置代理:
- - (void)viewDidAppear:(BOOL)animated{
- __weak typeof(self) weakSelf = self; self.navigationController.interactivePopGestureRecognizer.delegate = weakSelf;
- }
然后实现手势协议即可:
- #pragma mark - UIGestureRecognizerDelegate
- - (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer*)gestureRecognizer{
- //判断是否为rootViewController
- if (self.navigationController && self.navigationController.viewControllers.count == 1) {
- return NO;
- }
- return YES;
- }
0 0
- IOS视图控制器左边缘右滑pop出栈
- IOS开发—视图控制器左边缘右滑pop出栈
- IOS开发—视图控制器左边缘右滑pop出栈
- IOS开发—IOS自定义任意位置右滑POP视图控制器
- iOS视图pop出栈
- iOS pop出指定的控制器
- [iOS]UINavigationController全屏pop之为控制器添加左滑push
- 开启/关闭 iOS 原生 左滑动 pop 视图功能
- iOS开发——视图及视图控制器
- 【iOS开发-21】UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解
- iOS开发UINavigationController导航控制器初始化,导航控制器栈的push和pop跳转理解
- iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
- iOS开发-21UINavigationController导航控制器初始化 导航控制器栈的push和pop跳转理解
- 禁止右滑触发当前控制器的pop方法
- iOS开发-视图控制器相关
- iOS右滑pop功能的实现
- IOS开发之视图和视图控制器
- 关于iOS的pop出栈问题
- maven使用properties控制依赖包版本
- Android的Menu菜单详解(一)
- 初学Ogre:通过sample实现自己的作品
- objective-c的成员变量:坑爹的苹果不断更新版本使得代码变化也大。
- linux shell 字符串操作(长度,查找,替换)详解
- IOS开发—视图控制器左边缘右滑pop出栈
- Android编程之GridView(九宫格)
- STL内存碎片
- 关于UITableView的一些用法
- Android开发之MediaPlayerService服务详解(一)
- poj 3041 Asteroids 二分图
- 为Java程序员准备的Go语言入门PPT
- 如何区分越南黄花梨与海南黄花梨
- Servlet--HttpSessionBindingListener接口,HttpSessionBindingEvent类