在我的应用中,我目前正在使用标准UINavigationController
,并将多个控制器推送到导航堆栈。现在,我需要能够显示自定义UIView
(或UIToolbar even) underneath the
UINavigationBar`并使其在推送新视图控制器后仍然存在,并根据需要删除此视图。非常类似于歌曲信息和iTunes Store中的控件:
现在我只是将此视图作为子视图添加到顶视图控制器的view
,因此在执行推送时,此自定义视图不再可见。另一个问题是此自定义视图与视图控制器的view
内容重叠。
有没有办法实现自定义导航栏,扩展其高度,并添加子视图?当然,当视图不再显示时,删除子视图并缩小高度?或者在导航栏下面添加一个视图,自动更新内容插图到处都不在其下面?或者如何才能实现这一目标?
我查看了Apple的自定义导航栏示例代码。它们具有带有自定义视图的扩展高度示例,但是他们通过将视图添加到单个视图控制器的视图来实现此目的,因此推送不会保留它。
答案 0 :(得分:0)
您可以将视图添加到导航控制器本身,但您必须在视图之间的转换过程中自己处理动画。
[self.navigationController.view addSubview:overlayView];