私は UIPangesture を使用してイメージビューを移動していますが、このイメージビューはクラスのビューのサブビューです。イメージビューを移動すると、スーパービューの外に移動します。このイメージビューを移動する境界を設定したいのですが、イメージビューはそのスーパービュー内でのみ移動する必要があります。
質問する
102 次
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 に答える