我使用的是一个嵌套导航控制器,其中导航栏隐藏在通过主导航控制器添加的视图中。一切都很完美,除了当我更改部分并设置根导航控制器的标题时,它没有动画。
是否有动画导航栏标题?
旧问题的新答案,但仍然适用。如果您想在不同的标题字符串之间设置动画,请使用以下内容:
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";
当然,您可以调整持续时间,并设置适合的计时功能。
据我所知,UINavigationBar/UINavigationItem上除了栏的大小,以及设置栏项并采用"animated:"参数的方法之外,什么都不能设置动画。
只需使用UIView动画代码。不知道它是否100%有效,但它应该!因此,在更改标题的方法中,执行[UIView animateWithDuration:0.5 animations:^{}]
并更改其中的标题。希望这对你有用!