0

在我的应用程序中,我有一个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它时,它会随着我的鼠标指针位置移动。但我只想拖动水平路径(即直线)。

4

2 回答 2

3

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

于 2012-11-07T14:49:48.317 回答
0
CGPoint translatedPoint = [gestureRecognizer translationInView:[myview superview]];

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

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

    [myview setCenter:translatedPoint];
于 2012-11-07T15:25:58.183 回答