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:animatedpushNavigationItem:animatedpopNavigationItem:animated更新导航栏的内容,动画设置为YES . 工作正常,除了我想要导航栏的淡入淡出动画,而不是将前一个栏“推”到左或右的内置动画。

到目前为止,我能看到如何做到这一点的唯一方法是手动设置标题、栏的左右内容,使用 setLeftBarButtonItems:animatedsetRightBarButtonItems: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 的自定义动画?的主要内容,如果未能解决你的问题,请参考以下文章

Android面试收集录 对话框信息提示和菜单

UINavigationBar titleview 图像未与 UINavigationBar 对齐

由于奇怪的 UINavigationBar 视图层次结构,自定义 UINavigationBar 不起作用

UINavigationBar

UITableView 滚动 UINavigationBar

UINavigationBar 一个有样式的view