我正在尝试使用 interactivepopgesturerecognizer 返回一个 View ,其中我还有一个水平滚动的 UICollectionView,问题是在 Collection View 的框架中,滑动返回不起作用,但是当触摸开始超出 Collection View 的框架时有效,这是我的 View 的一个例子:
| ---> here works
|-----------
|
| ---> This is the collection view and doesn't swipe to go back
|
|-----------
| ---> here works
我该如何解决这个问题?
编辑:我意识到只有在推送 View 中导航栏被隐藏时才会出现此问题,而当隐藏时滑动返回在所有 View 中都不起作用,不仅在 Collection View ,为了让它工作,我需要添加这一行:
[self.navigationController.interactivePopGestureRecognizer setDelegate:nil];
在主视图中,但通过这种方式我无法滑动以返回 Collection View 。 我创建了一个简单的测试来检查问题:
https://www.dropbox.com/s/c7ueyrcmm2x1m5w/TestSwipe.zip?dl=0
最佳答案
将这行代码添加到您的 SecondViewController 中的 viewDidLoad 方法
[self.collectionView.panGestureRecognizer requireGestureRecognizerToFail:self.navigationController.interactivePopGestureRecognizer];
这实质上告诉 Collection View 的手势识别器,它需要等待交互式弹出识别器失败才能继续,强制优先处理交互式弹出。
关于ios - 隐藏导航栏时,使用带有水平滚动的 CollectionView 的 interactivepopgesturerecognizer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28076473/