如何缩放和更改父视图的来源以及在子视图中实现?

时间:2014-09-08 03:08:08

标签: ios objective-c uiviewanimation

我想创建一个菜单视图,在按下按钮时隐藏和取消隐藏。现在我设法对父视图进行了操作,但是作为菜单视图子视图的按钮没有按比例缩放我需要做什么?这是代码!

menuInitFrame=menuView.frame;
newFrame=CGRectMake(320, 0, 0, 0);

存储初始状态和新状态;

if (menuView.hidden==NO) {
    [UIView animateWithDuration:0.5
                          delay: 0.5
                        options: UIViewAnimationOptionCurveEaseIn
                     animations:^{
                         menuView.frame = newFrame;   // move
                     }
                     completion:^(BOOL finished)
     {
         menuView.hidden=YES;
     }];
}
else if(menuView.hidden==YES)
{
    menuView.hidden=NO;
    [UIView animateWithDuration:0.5
                          delay: 0.5
                        options: UIViewAnimationOptionCurveEaseIn
                     animations:^{
                         menuView.frame = menuInitFrame;
                     }
                     completion:^(BOOL finished)
     {
         //menuViewStatus=NO;
     }];
}

1 个答案:

答案 0 :(得分:1)

由于您使用自动布局,因此需要调用layoutIfNeeded重新计算menuView中所有子视图的帧。

因此,在动画块中添加以下行:

menuView.frame = menuInitFrame;
[menuView layoutIfNeeded];