如何将手势从UITextView传递到UICollectionViewCell

pek*_*eko 2 uitextview ios uicollectionviewcell

我有一个水平滚动UICollectionView与UICollectionViewCells包含一个UITextView.有没有办法将textview上的手势传递给单元格,以便调用didSelectItemAtIndexPath?我尝试使用子类化UITextView并将touchesbegin/end传递给单元格,但这没有用.

jjv*_*360 6

您可以使视图非交互式,这将导致触摸传递:

textView.userInteractionEnabled = NO;
Run Code Online (Sandbox Code Playgroud)

如果您需要它是交互式的,您可以尝试这样做:

textView.editable = NO;
UITapGestureRecognizer* tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
[textView addGestureRecognizer:tap];
Run Code Online (Sandbox Code Playgroud)

...然后将此函数添加到您的UICollectionViewCell子类:

-(void) tapped {
    UICollectionView *collectionView = (UICollectionView*)self.superview;
    NSIndexPath *indexPath = [collectionView indexPathForCell:self];
   [collectionView.delegate collectionView:collectionView didSelectItemAtIndexPath:indexPath];
}
Run Code Online (Sandbox Code Playgroud)

我没有测试过它...