【发布时间】:2013-12-19 04:01:38
【问题描述】:
我需要实现一个应用程序,该应用程序在多个屏幕的顶部有一个类似栏的导航栏。
它在左侧有一个图标、一些文本和一些右侧的按钮,因此这些可以很好地映射到导航项的左栏按钮项、标题视图和右栏按钮图标。
但是,在大多数屏幕上,栏的内容保持不变 - 即,后退按钮和标题更改只会在某些屏幕上偶尔出现,而在其他屏幕上会出现导航栏,但实际上并未用于导航目的.
最好实现这一点来配置 UINavigationItem,如果有多个屏幕和多个视图控制器,是否可以共享相同的 UINavigationItem?这样我就可以在 RVC 中配置 UINavigationItem 并在推送不同的视图控制器时将其保留在那里,在确实需要出现后退按钮时替换它?
如果这不是最好的方法,那么还有哪些替代方法?我尝试让我的 RVC 成为一个容器视图控制器并添加栏作为它的视图,它适用于直接子视图控制器,但不适用于孙视图控制器(它将占据整个屏幕,而不是分配给它们的部分容器视图)。
【问题讨论】:
-
有什么问题,还是只是猜测?
-
标题是“共享一个 UINavigationItem”,文本还问“有没有相同的 UINavigationItem 可以共享?”。因为当在 Storyboard 中创建视图/VC 时,IB 会自动为每个 VC 生成一个单独的 UINavigationItem - 因此多次自定义每个 VC 会让人头疼
标签: ios