内容在UIView上没有正确更改

时间:2011-11-08 14:59:32

标签: iphone uiview

以下是我的代码:

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创建的非常简单的视图。它上面有一些按钮。代码运行时,视图本身运行良好。但是,按钮工作不正常。按钮从外部移动到视图中。我想要的是按钮不动。相反,它们应该像视图一样扩展。

有人会帮助我吗?

最诚挚的问候,

1 个答案:

答案 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];

首先应将视图及其所有子视图缩小到某个点,然后将其在动画中展开为原始大小。