如何从上到下创建 UINavigationController 动画 [重复]

Posted

技术标签:

【中文标题】如何从上到下创建 UINavigationController 动画 [重复]【英文标题】:How to create UINavigationController animation top to bottom [duplicate] 【发布时间】:2011-05-04 04:51:51 【问题描述】:

嘿,只是想知道如何/是否可以让 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】:

我不认为从上到下的动画是可用的,但你仍然可以使用 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];

希望对你有帮助!!

【讨论】:

以上是关于如何从上到下创建 UINavigationController 动画 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何让容器从上到下向下滚动

如何在Android中给出从上到下的动画?

如何使用coredata从上到下对tableview项目进行排序

iOS 加载模式视图从上到下

从上到下滚动时如何自动停止对项目的列表视图取消选择?

Xcode 自定义转场 - Cover Vertical 的对面(从上到下) - 完整新手