YZDisplayViewController“快速集成App中顶部标题滚动条”,可以快速简单地实现类似今日头条的手势左右切换控制器的效果。
但这种左右切换的手势与UINavigationController自带的返回手势冲突,为了解决这个冲突,我引入了FDFullscreenPopGesture这个拓展。
引入后,基本上无需其他操作,就可以使所有的控制器支持全屏幕手势返回,实现新浪微博客户端一样的效果。
不过要解决与YZDisplayViewController的冲突,还需要新建一个UICollectionView的子类,并重写这个子类的方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
if (self.contentOffset.x <= 0) {
if ([otherGestureRecognizer.delegate isKindOfClass:NSClassFromString(@"_FDFullscreenPopGestureRecognizerDelegate")]) {
return YES;
}
}
return NO;
}