以下问题请参考下图: 你看到的蓝色和橙色圆圈是 UIView 的。我希望能够拖动具有 UIPanGestureRecognizer 的蓝色 UIView 并让橙色圆圈相应地平移,并与现在的蓝色圆圈保持相同的距离。意思是,如果我向下拖动蓝色圆圈,橙色 UIView 应该与蓝色圆圈保持平行并向下平移。如果我将蓝色圆圈向右拖动,橙色圆圈也应该向右平移,并与现在的蓝色圆圈保持相同的距离。
所以现在这些圆圈是同一个类的一部分,它们上面有一个 UIPanGestureRecognizer。这是拖动这些视图的代码:
-(void)dragging:(UIPanGestureRecognizer *)p {
UIView *newView = p.view;
if (p.state == UIGestureRecognizerStateBegan) {
self.origC = newView.center;
}
self.delta = [p translationInView:newView.superview];
CGPoint c = self.origC;
c.x +=self.delta.x;
c.y +=self.delta.y;
newView.center = c;
[self.delegate refreshView];
}
在 UIPanGestureRecognizer 类中,我能够获得平移手势在指定视图坐标系中的平移:
self.delta = [p translationInView:newView.superview];
我认为这是我需要申请翻译橙色圆圈的增量,但我不确定我将如何去做?任何帮助,将不胜感激。谢谢!