我需要呈现,然后以模态关闭UITableView。它应该从顶部到按钮进行动画处理。但是它不能覆盖整个屏幕,它会从导航栏下面滑入并停止,直到到达标签栏。

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

最佳答案

您可以将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
                     }
                 }];


如果要再次将其向上滑动,请执行相反的操作...

10-08 18:20