gpt4 book ai didi

ios - 识别何时将 UIView 拖到 UICollectionViewCell 之上

转载 作者:可可西里 更新时间:2023-11-01 05:44:23 24 4
gpt4 key购买 nike

我有一个可拖动 View (UIImageView),我使用 UIPanGestureRecognizer 和此方法控制其定位和拖动:

- (void)imageDragged:(UIPanGestureRecognizer *)gesture
{
UIImageView *img = (UIImageView *)gesture.view;
CGPoint translation = [gesture translationInView:img];
img.center = CGPointMake(img.center.x + translation.x,
img.center.y + translation.y);
// reset translation
[gesture setTranslation:CGPointZero inView:img];
}

除了可拖动 View ,我还有一个 UICollectionView,当然是由 UICollectionViewCells 构建的。我试图做的是确定我的可拖动 View 何时被拖动到其中一个 Collection View 单元格的顶部。

我想在 imageDragged 方法中添加一个 bool 值,以了解当前何时拖动 View ,但我无法弄清楚如何知道我拖动的触摸何时位于 Collection View 单元格的顶部。 UICollectionView 具有 didSelect 委托(delegate)方法,但如果我的点击不是发生在单元格上,而是发生在我的可拖动 View 上,那对我来说并没有多大帮助。

如有任何帮助,我们将不胜感激!

最佳答案

我将这段代码放在 imageDropped 方法中以实现我想要的效果(感谢 Martin 的帮助):

CGPoint tapCoordinates = [gesture locationInView:self.view];
NSArray * visibleCells = [self.collectionView visibleCells];
for(UICollectionViewCell *cell in visibleCells) {
CGRect frame = [self.collectionView convertRect:cell.frame toView:self.view];
if(CGRectContainsPoint(frame, tapCoordinates)) {
NSLOG(@"Success");
break;
}
}

关于ios - 识别何时将 UIView 拖到 UICollectionViewCell 之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23526050/

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