0

親ビュー内でサブビューの位置を制限する方法。UIView 内にサブビューがあります。サブビューは、ジェスチャ レコグナイザーを介してドラッグできます。親ビューの境界の外にドラッグできないように、サブビューを制限するにはどうすればよいですか。

4

1 に答える 1

0

ドラッグ可能なビューを拘束するには、移動中にその位置を確認し、境界を超えた場合は強制的に拘束された位置に移動する必要があります。したがって、次を使用すると仮定しますtouchesMoved

- (void)touchesMoved:(NSSet *)touches withEvent:(UIEvent *)event {

    ...

    CGRect frame = mySubview.frame; 
    if (frame.origin.x < boundaryX) { //frame exceeds the horizontal boundary
        frame.origin.x = boundaryX;
        mySubview.frame = frame;
    }
}

したがって、boundaryXが親ビューの原点であると仮定すると、この方法では、サブビューがその境界を超えることはありません。オリジンについても同じことを行う必要があり、yすべてx + widthy + height側面からコンストレイントを行う必要があります。

お役に立てれば。

于 2012-11-24T08:42:21.760 に答える