沿着直线路径拖动uiview

时间:2012-11-07 14:47:06

标签: objective-c ios

在我的应用中,我有一个UIview,其中包含多个uiview个子视图。我想在水平方向上拖动直线中的单个UIView,我使用SetCenter属性但它不起作用。 我的代码:

   CGPoint translatedPoint = [gestureRecognizer translationInView:[myview superview]];

    if([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
        _firstX = [myview center].x;
        _firstY = [myview center].y;
    }

    translatedPoint = CGPointMake(_firstX+translatedPoint.x, _firstY+translatedPoint.y); 

    [myview setCenter:translatedPoint];

这里当我开始拖动myview时,它会随着我的鼠标指针位置移动。但我只想在HORIZONTAL路径(即直线)中拖动。

2 个答案:

答案 0 :(得分:3)

所以只需更新x坐标而不是y。

答案 1 :(得分:0)

CGPoint translatedPoint = [gestureRecognizer translationInView:[myview superview]];

    if([gestureRecognizer state] == UIGestureRecognizerStateBegan) {
        _firstX = [myview center].x;
    }

    translatedPoint = CGPointMake(_firstX+translatedPoint.x, _firstY); 

    [myview setCenter:translatedPoint];