ListViewController-> DetailsViewController,DetailsViewController的navigationController支持interactivePopGestureRecognizer功能,可以向右和向后滑动到ListViewContorller,没关系,
只是DetailsViewController包含一些UICollectionView,它不响应滑动手势,这意味着如果用户触摸CollectionView滑动,从左向右拖动视图,navigationController根本没有得到动作,如何解决这个问题?我只是这样试试:
[collectionView addGestureRecognizer: self.navigationController.interactivePopGestureRecognizer];
但它不起作用。
然后我创建新的“Swipe Gesture Recognaizer”并绑定到collectionView,也链接到选择器操作如下:
我在详细信息视图中添加了代码:
-(IBAction)swipeBack:(id)sender
{
[self.navigationController popToRootViewControllerAnimated:true];
}
然后,如果用户触摸collectionView,那么它可以返回到列表视图控制器,但它不够好,因为它对'interactivePopGestureRecognizer'不起作用,
为此目的,任何人都知道其他最佳解决方案吗?谢谢你的时间。
答案 0 :(得分:0)
就像https://stackoverflow.com/a/18947952/1113407中提到的那样,如果
,多个手势的效果会更好-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
return YES;
}
已设定。
如果这还不够,请尝试根据您的需要采用https://stackoverflow.com/a/2628777/1113407。
在UINavigationContoller swipe back function not working if its view is added to UIViewContoller“Mr.1”中提到:
更新:事实证明,如果导航栏被隐藏,则滑动功能将被禁用....
您是否隐藏了导航栏?