增加UINavigationBar的高度并添加在推送

时间:2015-07-17 20:32:42

标签: ios uinavigationcontroller uinavigationbar

在我的应用中,我目前正在使用标准UINavigationController,并将多个控制器推送到导航堆栈。现在,我需要能够显示自定义UIView(或UIToolbar even) underneath the UINavigationBar`并使其在推送新视图控制器后仍然存在,并根据需要删除此视图。非常类似于歌曲信息和iTunes Store中的控件:

enter image description here

现在我只是将此视图作为子视图添加到顶视图控制器的view,因此在执行推送时,此自定义视图不再可见。另一个问题是此自定义视图与视图控制器的view内容重叠。

有没有办法实现自定义导航栏,扩展其高度,并添加子视图?当然,当视图不再显示时,删除子视图并缩小高度?或者在导航栏下面添加一个视图,自动更新内容插图到处都不在其下面?或者如何才能实现这一目标?

我查看了Apple的自定义导航栏示例代码。它们具有带有自定义视图的扩展高度示例,但是他们通过将视图添加到单个视图控制器的视图来实现此目的,因此推送不会保留它。

1 个答案:

答案 0 :(得分:0)

您可以将视图添加到导航控制器本身,但您必须在视图之间的转换过程中自己处理动画。

[self.navigationController.view addSubview:overlayView];