0

私は UIPangesture を使用してイメージビューを移動していますが、このイメージビューはクラスのビューのサブビューです。イメージビューを移動すると、スーパービューの外に移動します。このイメージビューを移動する境界を設定したいのですが、イメージビューはそのスーパービュー内でのみ移動する必要があります。

4

1 に答える 1

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の値を少し試す必要があるかもしれません。

于 2013-03-06T11:42:02.493 に答える