如何将UIimageView移动到另一个UIImageView上

时间:2014-12-13 12:52:27

标签: ios objective-c

我正在移动大多数UIImageViews并修复UIImageview。一切都很好但问题是当移动的图像视图包含或交叉固定的图像视图时,它们只是从固定的图像视图下移动。 如何使UIImageviews在固定的imageview上移动。 请找到函数 StartMoving 代码,该代码使UIImageviews在屏幕中移动并调用buttonClick事件。

在代码中......

CGPoint pos1,Pos2,pos3;

UIImageView *ball1,*ball2,*ball3,*fixedball;


-(void)StartMoving
{
    pos1=CGPointMake(5.0, 5.0);
    pos2=CGPointMake(5.0, 8.0);
    pos3=CGPointMake(8.0, 5.0);

    ball1.center=CGPointMake(ball1.center.x+pos1.x, ball1.center.y+pos1.y);
    ball2.center=CGPointMake(ball2.center.x+pos2.x, ball2.center.y+pos2.y);
    ball3.center=CGPointMake(ball3.center.x+pos3.x, ball3.center.y+pos3.y);
    if(ball1.center.x>320||ball1.center.x<0)
        pos1.x=-pos1.x;
    if(ball1.center.y>480||ball1.center.y<0)
        pos1.y=-pos1.y;
    if(ball2.center.x>320||ball2.center.x<0)
        pos2.x=-pos2.x;
    if(ball2.center.y>480||ball2.center.y<0)
        pos2.y=-pos2.y;
    if(ball3.center.x>320||ball3.center.x<0)
        pos3.x=-pos3.x;
    if(ball3.center.y>480||ball3.center.y<0)
        pos3.y=-pos3.y;
}

...并在stroyboard中添加了所有移动和固定的图像视图。 提前致谢

1 个答案:

答案 0 :(得分:2)

您需要bring that subview to the front其他子视图:

UIView *viewContainingBalls; // most likely ball1.superview
[viewContainingBalls bringSubviewToFront:ball1];

使用此方法根据需要将其他球带到前面。

或者如果你总是希望固定球落后于所有其他球,你可以send this to the back

UIView *viewContainingBalls; // most likely fixedball.superview
[viewContainingBalls sendSubviewToBack:fixedball]; 

还有其他方法,例如exchangeSubviewAtIndex:withSubviewAtIndex:也可以完成类似的事情。