2

我如何将 UIView 中的子视图移动到 UIView 框架之外,并在底部看到外部的值!抱歉,请看我的图片以了解,我不想使用滚动视图,也不要使用重复的视图来执行此操作。

在此处输入图像描述

谢谢

4

2 回答 2

2

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

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

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

于 2012-12-18T09:29:25.157 回答
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]; 

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

我希望这对你有帮助....

于 2012-12-18T08:45:21.173 回答