实现BaseViewcontroller的滑动返回按钮效果
2015-11-14 13:42
316 查看
if (self.navigationController.viewControllers.count>=1)
{
gesture =
self.navigationController.interactivePopGestureRecognizer;
gesture.enabled =
NO;
[self.view
removeGestureRecognizer:self.popRecognizer];
_popRecognizer = [[UIPanGestureRecognizer
alloc] init];
// popRecognizer.delegate = self;
_popRecognizer.maximumNumberOfTouches =
1;
[self.view
addGestureRecognizer:_popRecognizer];
NSMutableArray *_targets = [gesture
valueForKey:@"_targets"];
// /**
// *
获取它的唯一对象,我们知道它是一个叫UIGestureRecognizerTarget的私有类,它有一个属性叫_target
// */
id gestureRecognizerTarget = [_targets
firstObject];
// /**
// *
获取_target:_UINavigationInteractiveTransition,它有一个方法叫handleNavigationTransition:
// */
id navigationInteractiveTransition = [gestureRecognizerTarget
valueForKey:@"_target"];
// /**
// * 通过前面的打印,我们从控制台获取出来它的方法签名。
// */
SEL handleTransition =
NSSelectorFromString(@"handleNavigationTransition:");
// /**
// *
创建一个与系统一模一样的手势,我们只把它的类改为UIPanGestureRecognizer
// */
[_popRecognizer
addTarget:navigationInteractiveTransition action:handleTransition];
}
else
{
[self.view
removeGestureRecognizer:_popRecognizer];
self.popRecognizer =
nil;
}
{
gesture =
self.navigationController.interactivePopGestureRecognizer;
gesture.enabled =
NO;
[self.view
removeGestureRecognizer:self.popRecognizer];
_popRecognizer = [[UIPanGestureRecognizer
alloc] init];
// popRecognizer.delegate = self;
_popRecognizer.maximumNumberOfTouches =
1;
[self.view
addGestureRecognizer:_popRecognizer];
NSMutableArray *_targets = [gesture
valueForKey:@"_targets"];
// /**
// *
获取它的唯一对象,我们知道它是一个叫UIGestureRecognizerTarget的私有类,它有一个属性叫_target
// */
id gestureRecognizerTarget = [_targets
firstObject];
// /**
// *
获取_target:_UINavigationInteractiveTransition,它有一个方法叫handleNavigationTransition:
// */
id navigationInteractiveTransition = [gestureRecognizerTarget
valueForKey:@"_target"];
// /**
// * 通过前面的打印,我们从控制台获取出来它的方法签名。
// */
SEL handleTransition =
NSSelectorFromString(@"handleNavigationTransition:");
// /**
// *
创建一个与系统一模一样的手势,我们只把它的类改为UIPanGestureRecognizer
// */
[_popRecognizer
addTarget:navigationInteractiveTransition action:handleTransition];
}
else
{
[self.view
removeGestureRecognizer:_popRecognizer];
self.popRecognizer =
nil;
}
相关文章推荐
- 读取手机相册,获取选中的某张图片的路径
- hadoop2.6配置文件设置
- shell
- shell
- 自定义ViewGroup知识总结
- 在onCreate()方法中获取View的宽度与高度
- Java 的安装和Java Applet在浏览器中的使用
- iOS支付宝集成详细流程
- Bochs调试指令
- Java学习笔记(面向对象1)
- HTTP Web 服务
- 一些感受
- STM32 I2C硬件
- interactivePopGestureRecognizer
- SQL数据查询基础
- ubuntu 14.04 nginx + mysql + php源码安装
- Python核心数据类型——字符串(2)
- Text Justification
- 【转】char码值对应列表大全
- 简单linux线程示例代码