在我的应用中,我有一个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路径(即直线)中拖动。
答案 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];