以下是我的代码:
SecondView *sview=[[SecondView alloc] init];
[self.view addSubview:[sview view]];
sview.view.layer.cornerRadius=20;
CGRect rect=sview.view.frame;
CGRect bound=sview.view.bounds;
[sview.view setFrame:CGRectMake(rect.origin.x, btn.frame.origin.y, rect.size.width, 0)];
[sview.view setBounds:CGRectMake(0, 0, bound.size.width, 0)];
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1];
[sview.view setFrame:CGRectMake(rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)];
[sview.view setBounds:CGRectMake(0, 0, bound.size.width, bound.size.height)];
[sview.view setTag:10];
[UIView commitAnimations];
我正在尝试将子视图从不可见扩展为可见。换句话说,我想将视图从一行扩展到一个块。视图是我从IB创建的非常简单的视图。它上面有一些按钮。代码运行时,视图本身运行良好。但是,按钮工作不正常。按钮从外部移动到视图中。我想要的是按钮不动。相反,它们应该像视图一样扩展。
有人会帮助我吗?
最诚挚的问候,
答案 0 :(得分:0)
您只是为视图的框架和边界设置动画,所有子视图都不会使用该代码设置动画。尝试使用缩放动画,例如
sview.view.transform = CGAffineTransformMakeScale(0.01, 0.01);
[UIView beginAnimations:@"animations" context:NULL];
sview.view.transform = CGAffineTransformMakeScale(1.0, 1.0);
[UIView commitAnimations];
首先应将视图及其所有子视图缩小到某个点,然后将其在动画中展开为原始大小。