如何在像快门一样从上到下加载时为UIView设置动画



我正在尝试开发一个iphone应用程序。我知道如何在推入导航堆栈时从左向右滑动视图。但我的要求是在推入导航堆栈的同时,从上到下设置视图的动画。那么如何做到这一点呢?

我正在谷歌上搜索,但没有找到任何令人满意的结果。。如果有人知道…请告诉我怎么做。

info = [[InfoView alloc] initWithNibName:@"InfoView" bundle:nil];   
[self.navigationController pushViewController:info animated:YES];

您可以在将视图控制器推送到导航堆栈时尝试这样的操作:

       SecondViewController *VC2 = [[SecondViewController alloc]init];
       VC2.nameSupplied = self.nameField.text;
       CGPoint mycenter = VC2.view.center;
       CGPoint navCenter = self.navigationController.navigationBar.center;
       VC2.view.center = CGPointMake(mycenter.x , mycenter.y - VC2.view.frame.size.height);
       self.navigationController.navigationBar.center = CGPointMake(navCenter.x, navCenter.y - self.navigationController.navigationBar.frame.size.height);
      [self.navigationController pushViewController:VC2 animated:NO];
      [UIView animateWithDuration:0.5
                            delay:0
                          options: UIViewAnimationCurveEaseOut
                       animations:^{
                                  VC2.view.center = mycenter;
                                  self.navigationController.navigationBar.center = navCenter;
                 } 
                 completion:^(BOOL finished){
                     NSLog(@"Animation Done!");
                 }];

但是,如果你只想在同一个视图控制器中显示另一个视图(从上到下移动),你可以使用UIView的属性,如下所示:

self.secondView.transform = CGAffineTransformMakeTranslation(0, secondView.frame.size.height);

最新更新