OStack程序员社区-中国程序员成长平台

标题: ios - 如何使用 UIPanGestureRecognizer move 2 个或更多 UIImageViews [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-11 20:34
标题: ios - 如何使用 UIPanGestureRecognizer move 2 个或更多 UIImageViews

在解释如何使用 UIPanGestureRecognizer move UIImageView 时,这个网站非常有帮助,但我有一个程序需要 move (即平移)多个 UIImageView,而且我一生都可以'找不到如何做到这一点的示例。

我知道将 UIPanGestureRecognizer 分配给 UIView,但我无法在 UIView 内平移任何 UIImageView,我只知道代码只能平移一个 UIImageView 与 UIView,如下面的代码所示。

这是我使用的代码。

- (void)viewDidLoad {
UIPanGestureRecognizer *panRecognizer = [[UIPanGestureRecognizer alloc]initWithTarget:self actionselector(move];
[panRecognizer setMinimumNumberOfTouches:1];
[panRecognizer setMaximumNumberOfTouches:1];
[_canvas addGestureRecognizer:panRecognizer];

[super viewDidLoad]; }


-(void)moveid)sender {
CGPoint translatedPoint = [(UIPanGestureRecognizer*)sender translationInView:_canvas];

if([(UIPanGestureRecognizer*)sender state] == UIGestureRecognizerStateBegan) {
    _firstX = [photoImage center].x;
    _firstY = [photoImage center].y;
}

translatedPoint = CGPointMake(_firstX+translatedPoint.x, _firstY+translatedPoint.y);
[photoImage setCenter:translatedPoint]; }

我可以平移一个名为 photoImage 的 UIImageView,但知道平移多个 UIImageView 的代码是什么样的。

提前感谢您的帮助。



Best Answer-推荐答案


您应该将手势识别器添加到所有图像而不是 _canvas。 并将这些 View 的 userInteractionEnabled 设置为 YES

[imageView setUserInteractionEnabled:YES];
[imageView addGestureRecognizer:panRecognizer];

关于ios - 如何使用 UIPanGestureRecognizer move 2 个或更多 UIImageViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8212792/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4