如何在正方形内移动UIView A(这是另一个不是A的父亲的UIView B)?
我做了什么:我覆盖方法TouchesBegan,TouchesMoved和TouchesEnded移动A,当A的左边与B的左边重合时,我避免A向左移动,但有时这会导致A移动奇怪且不顺畅(同样适用于向上,向下和向右的方向),所以我想必须有更好的方法来做到这一点。
答案 0 :(得分:2)
如果您希望ViewA仅在特定视图的区域内可拖动。如果边界复杂,这可能更容易定义。
- (IBAction)handleDrag:(UIButton *)sender forEvent:(UIEvent *)event
{
CGPoint point = [[[event allTouches] anyObject] locationInView:self.someView];
if ([self.viewB pointInside:point withEvent:nil])
{
sender.center = point;
//Only if the gesture center is inside the specified view will the button be moved
}
}