gpt4 book ai didi

ios - 如何以编程方式在更多 View 上连接更多 UIPanGestureRecognizer?

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

如何制作一个 UIPanGestureRecognizer?我有多个 View ,每个 View 都有自己的 UIPanGestureRecognizer。我怎样才能做到这一点,当用户将手指放在一个手指上并在屏幕上移动手指时, View 的标签以及 View 都会发生变化,直到用户将手指从屏幕上抬起?这有点难以解释......我希望你能理解。谢谢您的回答。

最佳答案

我相信您正在尝试创建一个可用于多个 View 的平移手势识别器,并让您知道在平移过程中用户手指下当前是哪个 View 。如果是这种情况,那么这应该会有所帮助...

创建一个 View 作为您想要参与平移的所有 View 的容器。

enter image description here

我为每个 View 赋予了自己的颜色,以使其在视觉上显而易见。

enter image description here

我还为每个 View 添加了一个标签以显示它的标签。

将单个 UIPanGestureRecognizer 连接到容器 View 并将其选择器附加到 View Controller 类中的方法。

- (IBAction)panGestureRecognizerTriggered:(UIPanGestureRecognizer *)recognizer
{
CGPoint location = [recognizer locationInView:recognizer.view];

// Find the view that is currently under the user's finger
for (UIView *view in recognizer.view.subviews) {
if (CGRectContainsPoint(view.frame, location)) {
NSLog(@"View %d at %@", (int)view.tag, NSStringFromCGPoint((location)));

// Found the view, stop searching :)
break;
}
}
}

此方法迭代附加到手势识别器的 View 的 subview ,并确定哪个 subview 当前在用户手指下,打印标签和当前位置。

诚然,如果您要处理大量 View ,这可能不会特别有效,但对于像这样的简单情况,它可以完成工作。

关于ios - 如何以编程方式在更多 View 上连接更多 UIPanGestureRecognizer?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32117445/

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