当segue样式从Push更改为Modal时,目标场景上的UINavigationItem消失

时间:2013-02-14 20:23:51

标签: ios xcode cocoa-touch

UINavigationController个场景之间有一个序列,为什么将PushModal的seque样式更改为导致目标场景上的UINavigationItem从IB中消失内置应用?有趣的是,UINavigationItem仍然在IB层次结构中。

如何在目标场景中仍然可以看到UINNavigationItem的模态序列?我正在尝试做一些简单的事情 - 看起来像iPhone联系人应用程序中的编辑功能。在那里你有一个Modal,它出现在联系人编辑中,你可以在完成时导航回联系人细节。

2 个答案:

答案 0 :(得分:1)

如果您正在呈现模态视图控制器,则它将不具有呈现控制器中存在的导航栏(假设其中一个嵌入在导航控制器中)。 “联系人”应用中的顶部栏可能是UIToolbar(“对象库”中的“工具栏”)。您可以将其中一个拖到控制器中,然后在IB中添加条形按钮项。这些按钮有很多不同的样式供您选择,包括“完成”和“取消”。

答案 1 :(得分:1)

任何视图控制器都可以有导航项,但只有在视图控制器嵌入导航控制器时才会显示。模态视图控制器不会继承呈现它们的视图控制器的导航控制器 - 实质上,它们代表用户通过应用程序的路径中的分支,而不是它们来自的导航堆栈的扩展。

如果您需要导航控制器在模态视图控制器中提供的内容,请将该VC嵌入导航控制器中,并以模态方式显示该导航控制器。

(或者,如果您只是希望导视栏显示在视图的顶部,而不关心从UINavigationController获得的其他内容,则可以删除UINavigationBar(导航对象库中的条形图)进入IB中的视图。)