隐藏动画模式UIView?

时间:2012-10-03 13:16:24

标签: objective-c ios uitableview animation

我需要呈现然后以模态方式关闭UITableView。它应该从顶部到按钮动画。但它不应覆盖整个屏幕,它将从导航栏下方滑入并在到达标签栏之前停止。

所以我不能将presentViewController:animated:completion:用于其视图控制器。 我需要将其作为视图层次结构的一部分进行操作。问题是,当这个表视图不可见时,它应该放在何处。我将从哪里动画出来?

1 个答案:

答案 0 :(得分:1)

您可以将UITableView放在UIView中并使用animateWithDuration。例如(使用一些组合尺寸):

[subMenuView setFrame:CGRectMake(5,-400, 310, 400)];

[UIView animateWithDuration:0.8f
                      delay:0.0f
                    options:UIViewAnimationOptionTransitionCurlDown
                 animations:^{
                     [subMenuView setFrame:CGRectMake(5,0,310,400)];
                 }
                 completion:^ (BOOL finished) 
                 {
                     if (finished) 
                     {
                         //animation has finished, you can do something here, even another nested animation
                     }
                 }];

如果您想将其重新滑回,请执行相反的操作......