如何动画SubView从一个视图移动到另一个视图?

时间:2012-12-18 08:41:19

标签: iphone uiview

我如何将UIView中的子视图移出UIView框架,并在底部看到外部的值!对不起请看我的图片了解,我不想使用scrollview,也不要使用重复的视图来做到这一点。

enter image description here

感谢

2 个答案:

答案 0 :(得分:1)

您必须复制子视图。没有别的办法,因为你不能两次添加相同的子视图。

如果您尝试将现有子视图添加到另一个视图,它将自动从其超级视图中删除。

视图重复后,您可以按照描述的方式为它们设置动画。

答案 1 :(得分:0)

<强>更新

这里创建相同的两个子视图,之后设置框架就像下面的那样......

- (void)viewDidLoad
{
    yourSubview1.frame = CGRectMake(yourSubview1.frame.origin.x, 200, yourSubview1.frame.size.width, yourSubview1.frame.size.height);

    yourSubview2.frame = CGRectMake(yourSubview2.frame.origin.x, 400, yourSubview2.frame.size.width, yourSubview2.frame.size.height);

}

当你想要在那时移动子视图时,只需调用以下代码...

    [UIView beginAnimations:nil context:nil];
    [UIView setAnimationDuration:0.3];
    yourSubview1.frame = CGRectMake(yourSubview1.frame.origin.x, yourSubview1.frame.origin.y - 100, yourSubview1.frame.size.width, yourSubview1.frame.size.height);
    yourSubview2.frame = CGRectMake(yourSubview2.frame.origin.x, yourSubview2.frame.origin.y - 100, yourSubview2.frame.size.width, yourSubview2.frame.size.height);
    //// set `y` where you want to display just like i minus the y with 100 so its move above with 100 point of y 
    [UIView commitAnimations]; 

这只是一个例子,您可以使用框架和计时器进行设置..

我希望这可以帮助你......