将UIView移到另一个UIView中

时间:2017-11-02 04:29:07

标签: ios uiview

如何在正方形内移动UIView A(这是另一个不是A的父亲的UIView B)?

我做了什么:我覆盖方法TouchesBegan,TouchesMoved和TouchesEnded移动A,当A的左边与B的左边重合时,我避免A向左移动,但有时这会导致A移动奇怪且不顺畅(同样适用于向上,向下和向右的方向),所以我想必须有更好的方法来做到这一点。

1 个答案:

答案 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
    }
}