基于导航的应用程序的翻转动画

Posted

技术标签:

【中文标题】基于导航的应用程序的翻转动画【英文标题】:flip animation for navigation based application 【发布时间】:2011-09-19 20:08:41 【问题描述】:

如何在基于导航的应用程序中为 backbarbuttonitem 使用翻转动画,默认情况下,它会弹出到我们从中导航的上一个视图?我只想将翻转动画添加到基于导航的应用程序中。

【问题讨论】:

【参考方案1】:

为此,您需要将默认的后退按钮替换为自定义后退按钮。它不会是箭头按钮,因为据我所知,箭头导航按钮仅存在于私有 API 中。

要创建您的按钮,请执行以下操作:

UIBarButtonItem *customBackButton = [[UIBarButtonItem alloc] initWithTitle:@"Back" style:UIBarButtonItemStyleBordered target:self action:@selector(flipPopView)];

self.navigationItem.leftBarButtonItem = customBackButton;

[customBackButton release];

接下来您需要创建flipPopView 方法来实际翻转:

- (void)flipPopView 

    // animateView should be whichever view you want the animation to occur in.
    UIView *animateView = self.navigationController.view;

    [UIView beginAnimations:nil context:NULL];
    [UIView setAnimationDuration: 0.5];
    [UIView setAnimationTransition:UIViewAnimationTransitionFlipFromRight forView:animateView cache:YES];

    [self.navigationController popViewControllerAnimated:NO];

    [UIView commitAnimations];


我基于我的一些类似代码得出此结论,但它对您的工作方式可能有所不同。如果您有问题,请告诉我,我会看看我能做些什么。

【讨论】:

以上是关于基于导航的应用程序的翻转动画的主要内容,如果未能解决你的问题,请参考以下文章

模态翻转动画后 UINavigationBar 的高度发生变化

禁用导航栏的动画

加载视图时导航栏跳跃

iOS - 带有动画的程序化模态segue(例如翻转)

像眨眼应用一样翻转贺卡

纯CSS3方块翻转效果的Loading加载动画