0

我正在使用故事板。我有一个UINavigationController, 以 aUITableViewController作为它的rootViewController。从这个表视图中,用户可以通过两种方式访问DetailViewController​​(自定义子类):UIViewController

  1. 点击表格单元格以查看其信息
  2. 点击加号按钮创建一个新项目

对于方式 1,我希望我的 segue 被推动。对于方式 2,我希望以模态方式显示详细信息。

起初我以为这应该不会太难,但我遇到了一些麻烦。是什么导致了这个麻烦:导航栏。当下一个视图被推送时,导航栏就在那里。但是,当下一个视图模态显示时,导航栏不存在。

我知道 Apple 已经考虑过这一点,这是最合乎逻辑的方法,但我需要模式视图中的导航栏再次关闭模式视图(使用取消和完成按钮)。通过界面生成器添加此导航栏不会带来好运:对于模态显示的视图,它工作正常,但在我的推送视图中,我突然有两个导航栏。

对此的逻辑解决方案是以编程方式添加导航栏,前提视图以模态方式显示。我这样做了,并显示了导航栏,但它与视图重叠。我尝试调整视图的大小,使其与被推送的视图具有相同的大小,但我没有设法解决问题:导航栏仍然与视图重叠。

我现在停止尝试的原因有两个:我不知道该尝试什么了,而且我觉得应该有一个更简单的方法,因为我可能不是唯一一个尝试实现这一目标的人。

谁能帮我吗?

4

1 回答 1

1

您可以使用您的详细视图控制器作为其根视图控制器创建另一个导航控制器。然后使用您的主视图控制器作为演示者以模态方式呈现该新导航控制器。

于 2012-10-26T21:23:26.747 回答