gpt4 book ai didi

ios - 手指拖动 UIButton 与 UIImageView 重叠时检测

转载 作者:行者123 更新时间:2023-11-29 11:00:49 24 4
gpt4 key购买 nike

我正在使用 UIPanGestureRecognizer 在屏幕上拖动一个 UIButton。这个想法是用户可以将它拖到文件夹上以将其插入文件夹(如 iOS 图标)。如果我想检测按钮何时与图像重叠,我发现这段代码可以正常工作:

-(void) touchesEnded:(NSSet *) touches {
if(CGRectIntersectsRect([imageViewA frame], [imageViewB frame]) {
NSLog(@"Do something.");
}
}

但是由于按钮很大,并且有更多的图像并排放置,因此按钮可能会与它们重叠。因此,我想检测握住 UIButton 的实际用户手指何时与图像重叠以触发正确的操作。有什么想法吗?

最佳答案

UIGestureRecognizer 将识别平移,当它结束时,您可以使用 locationInView:在按钮的 super View 中找到手指的位置。然后您可以查看它们是否与 CGRectContainsPoint(frame, point) 重叠:

- (void)handlePanGesture:(UIPanGestureRecognizer*)recognizer {
if ([recognizer state] == UIGestureRecognizerStateEnded) {
CGPoint fingerPoint = [recognizer locationInView:someImageView.superview];

if (CGRectContainsPoint(someImageView.frame, fingerPoint)) {
NSLog(@"Do something");
}
}
}

关于ios - 手指拖动 UIButton 与 UIImageView 重叠时检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16000918/

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