动画导航栏标题

Posted

技术标签:

【中文标题】动画导航栏标题【英文标题】:Animate NavigationBar title 【发布时间】:2011-06-27 02:05:12 【问题描述】:

我正在使用嵌套导航控制器,导航栏隐藏在通过主导航控制器添加的视图中。一切都很完美,除非我更改部分并设置它不动画的根导航控制器的标题。

是否有?

【问题讨论】:

【参考方案1】:

旧问题的新答案,但仍然适用。如果要在不同的标题字符串之间制作动画,请使用以下内容:

CATransition *animation = [CATransition animation];
fadeTextAnimation.duration = 0.5;
fadeTextAnimation.type = kCATransitionFade;

[self.navigationController.navigationBar.layer addAnimation: fadeTextAnimation forKey: @"fadeText"];
self.navigationItem.title = "My new title";

当然,您可以调整持续时间并设置适合的计时功能。

【讨论】:

【参考方案2】:

据我所知,UINavigationBar/UINavigationItem 上的任何内容都不能设置动画,除了栏的大小以及设置栏项目和采用“动画:”参数的方法。

【讨论】:

【参考方案3】:

只需使用 UIView 动画代码。不知道它是否100%有效,但应该!因此,在您更改标题的方法中,请执行 [UIView animateWithDuration:0.5 animations:^] 并在其中更改标题。希望这对你有用!

【讨论】:

以上是关于动画导航栏标题的主要内容,如果未能解决你的问题,请参考以下文章

Flutter:使用底部导航栏为应用栏颜色设置动画

切换侧边栏时如何在导航栏中移动/动画文本值

导航栏按钮动画错误

如何在导航栏动画期间删除不需要的黑色区域。屏幕截图

如何为导航栏设置 CAGradientLayer 动画

UINavigationController 仅隐藏导航栏 - 后退动画问题