手势识别器在其他 UICollectionViewCell 内部的 UICollectionViewCell 上不起作用
Gesture recognizer doens't work on UICollectionViewCell inside of other UICollectionViewCell
我创建了 UICollectionView
为主 UI 并且每个 collectionViewCell
占据了整个屏幕并且它随着分页水平滚动。
在我必须在父 CollectionViewCell
中实现另一个 UICollectionView
之前,事情进展顺利。
所以.. 滚动手势可以是滚动父 collectionView,也可以是滚动 master CollectionViewCell
内部的小 collectionView。
我希望用户在尝试滚动那个小的 collectionView 区域时可以滚动浏览小的 collectionview,其中主要是小块图像,而其他滚动操作会导致滚动主 CollectionView。
我相信 UICollectionView
继承了 UIScrollView
,所以我认为在这种情况下我不需要添加手势识别器(平移)。我用两种方式对此进行了测试,
- touchBegan 不会检测我是否点击了较小的 collectionview 区域。
- 如果我手动将 PanGesture 添加到小型 collectionView 中,并且小型 collectionView 中的滚动不会触发父 collectionView 滚动。
想好从哪里开始了吗?
我不确定,但也许你可以实现这个方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
并决定先刷谁优先。 return 否或是。
我创建了 UICollectionView
为主 UI 并且每个 collectionViewCell
占据了整个屏幕并且它随着分页水平滚动。
在我必须在父 CollectionViewCell
中实现另一个 UICollectionView
之前,事情进展顺利。
所以.. 滚动手势可以是滚动父 collectionView,也可以是滚动 master CollectionViewCell
内部的小 collectionView。
我希望用户在尝试滚动那个小的 collectionView 区域时可以滚动浏览小的 collectionview,其中主要是小块图像,而其他滚动操作会导致滚动主 CollectionView。
我相信 UICollectionView
继承了 UIScrollView
,所以我认为在这种情况下我不需要添加手势识别器(平移)。我用两种方式对此进行了测试,
- touchBegan 不会检测我是否点击了较小的 collectionview 区域。
- 如果我手动将 PanGesture 添加到小型 collectionView 中,并且小型 collectionView 中的滚动不会触发父 collectionView 滚动。
想好从哪里开始了吗?
我不确定,但也许你可以实现这个方法:
- (BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer
{
return YES;
}
并决定先刷谁优先。 return 否或是。