UINavigationBar setItems/pushNavigationItem/popNavigationItem 的自定义动画?
Posted
技术标签:
【中文标题】UINavigationBar setItems/pushNavigationItem/popNavigationItem 的自定义动画?【英文标题】:Custom animation for UINavigationBar setItems/ pushNavigationItem / popNavigationItem? 【发布时间】:2014-07-15 04:33:33 【问题描述】:我在常规UIViewController
(不是UINavigationController
)中使用UINavigationBar
,并使用setItems:animated
、pushNavigationItem:animated
和popNavigationItem:animated
更新导航栏的内容,动画设置为YES .
工作正常,除了我想要导航栏的淡入淡出动画,而不是将前一个栏“推”到左或右的内置动画。
到目前为止,我能看到如何做到这一点的唯一方法是手动设置标题、栏的左右内容,使用 setLeftBarButtonItems:animated
、setRightBarButtonItems:animated
以及可能使用 @987654329 的标题的自定义视图@ 这样我就可以进行淡入淡出。
有人对我的问题有更好的解决方案吗?
【问题讨论】:
【参考方案1】:刚刚试了一下,效果不错:
[UIView transitionWithView:self.navBar duration:2.0f options:UIViewAnimationOptionTransitionCrossDissolve animations:^
myNavigationItem.leftBarButtonItem = newLeftItem;
myNavigationItem.rightBarButtonItem = newRightItem;
myNavigationItem.title = @"My New Title";
completion:nil];
【讨论】:
不幸的是,这对我不起作用。可能是因为我在标题中使用了自定义视图,而不仅仅是标题文本。我正在使用类似的东西,我独立更新左右图标(setLeft/RightBarButtonItems:animated)并在标题视图中的两个子视图之间进行交叉淡入淡出。以上是关于UINavigationBar setItems/pushNavigationItem/popNavigationItem 的自定义动画?的主要内容,如果未能解决你的问题,请参考以下文章
UINavigationBar titleview 图像未与 UINavigationBar 对齐
由于奇怪的 UINavigationBar 视图层次结构,自定义 UINavigationBar 不起作用