如何约束子视图在其父视图中的位置。我在 UIView 中有一个子视图。可以通过手势识别器拖动子视图。如何约束子视图,使其不能被拖出父视图的边界。
问问题
218 次
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 + width
y + height
希望这可以帮助。
于 2012-11-24T08:42:21.760 回答