图像视图不应使用UIPangesture移出其超级视图

时间:2013-03-06 11:31:31

标签: iphone

我正在使用UIPangesture移动一个imageview,这个imageview是类视图的子视图,当我移动imageview然后它移出它的superview。我想设置移动此imageview的边界,意味着imageview应该只在其superview内移动。

1 个答案:

答案 0 :(得分:1)

我想在平移手势调用的选择器中,您将根据平移点设置视图的中心或原点。

这是您的代码应该如何解决您的问题:

- (void)thePanSelector:(id)sender{
    UIPanGestureRecognizer *recognizer = (UIPanGestureRecognizer *)sender;
    CGPoint p = [recognizer locationInView:theSuperView];
    float boundedX = MAX(0,MIN(theSuperView.frame.size.width,p.x));
    float boundedY = MAX(0,MIN(theSuperView.frame.size.height,p.y));
    CGPoint boundedPoint = CGPointMake(boundedX,boundedY);
    view.center = p;
}

此代码未经测试,因此您可能需要使用boundedX和boundedY

的值稍微玩一下