gpt4 book ai didi

objective-c - UIScrollView 内的 UICollectionView 的 didSelectItemAtIndexPath 未被调用

转载 作者:行者123 更新时间:2023-12-03 21:01:11 25 4
gpt4 key购买 nike

我已经在 UIscrollview 中实现了不可滚动的 UICollectionView ScrollView 的尺寸为100x100 Collection View 的尺寸为100x200 ScrollView 的内容大小为 100x200。

我的问题是,当我触摸某些单元格(100x100 矩形之外的单元格)时,didSelectItemAtIndexPath 不会被调用。

单元格的用户交互已启用。当我将 ScrollView 高度增加到等于 Collection View 的高度时,所有单元格都是可触摸的。提前致谢。

最佳答案

因为scrollView重叠在Cell上...最好的方法是在UIScrollView上添加点击手势,例如,

UITapGestureRecognizer *recognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(gestureAction:)];
[recognizer setNumberOfTapsRequired:1];
self.scrollViu.userInteractionEnabled = YES;
[self.scrollViu addGestureRecognizer:recognizer];

在 cellForItemAtIndexPath 方法中添加上述代码并编写手势操作方法,例如

-(void)gestureAction:(UITapGestureRecognizer *) sender
{
CGPoint touchLocation = [sender locationOfTouch:0 inView:self.YourCollectionViewName];
NSIndexPath *indexPath = [self.YourCollectionViewName indexPathForRowAtPoint:touchLocation];

NSLog(@"%d", indexPath.item);
}

在上面的手势( Action )方法中,您可以获得与 didSelectItemAtIndexPath 相同的indexPath。

关于objective-c - UIScrollView 内的 UICollectionView 的 didSelectItemAtIndexPath 未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30050053/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com