如何从上到下创建UINavigationController动画

时间:2011-05-04 04:51:51

标签: iphone ios uitableview uinavigationcontroller

嘿,只是想知道如何/如果可能让UITableView从上到下进行动画制作。 进行转换的标准方式将页面从下到上动画化,我在页面上有一个撤消按钮,我导航到我希望允许用户点击它,如果他们决定返回...这是我的代码当前的动画自下而上..如果你能帮助我改变那就太棒了。

  - (void)viewDidLoad { 

    //Title
    self.title = @"Advanced Search";
    [super viewDidLoad];    

    //undo button takes you back to main search options
    UIBarButtonItem *undoButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemUndo target:self action:@selector(undoButton:)];
    self.navigationItem.leftBarButtonItem = undoButton;
}

- (void)undoButton:sender {
    RootViewController *rootViewController = [[RootViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:rootViewController];
    [[self navigationController] presentModalViewController:navigationController animated:YES];
    [navigationController release];

}

1 个答案:

答案 0 :(得分:0)

我不认为可以使用自上而下的动画,但你仍然可以使用UIView动画块做到这一点。

您应该做的唯一事情是更改您正在呈现的视图的框架。最初将其设置为顶部框架,如CGRectMake(0,0,320,0)。然后在动画块中将帧更改为CGRectMake(0,0,320,480)。这将使它看起来像从顶部。当你再次隐藏它时,你需要反过来。

[UIView beginAnimations:@"AnimatePresent" context:view];
[UIView setAnimationDuration:0.5];
[UIView setAnimationCurve:UIViewAnimationCurveEaseOut];
[UIView setAnimationDelegate:self];

view.frame = CGRectMake(0, 0 , 320, 480);

[UIView commitAnimations];

希望这会有所帮助!!