1、基本页面
iOS7之后是有侧滑返回手势功能的,因此直接触发系统的处理方法就行。当前控制器是根控制器时,不可以侧滑返回,所以不能使其触发手势。在项目的baseVC中,添加以下代码:
@interface BaseViewController ()<UIGestureRecognizerDelegate>
@end
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
if (self.navigationController.viewControllers.count > 1) {
self.navigationController.interactivePopGestureRecognizer.enabled = YES;
self.navigationController.interactivePopGestureRecognizer.delegate = self;
}
}
#pragma mark - UIGestureRecognizerDelegate
- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer {
return self.navigationController.childViewControllers.count > 1;
}
2、手势冲突:UIScrollView页面
scrollView会拦截baseVC的手势,实现自己的滑动效果,因此我们添加UIScrollView的手势的分类来处理手势冲突。网上也有很多处理方式,最终选择了分类的方式的原因是当前已经很成型的项目,分类的优势在于不需要修改每个类,也不需要重新自定义一个scrollView的基类,然后修改scrollView继承基类。这时候就体现了基类在项目中的优势~

9863

被折叠的 条评论
为什么被折叠?



