如何将子视图添加到当前导航控制器?

时间:2015-08-24 05:20:25

标签: ios swift cocoa-touch uinavigationcontroller uistoryboard

我有一个项目设置,其中包含一个uiscrollview,它附加了2个视图控制器,这些视图控制器具有允许水平滚动的表视图。它嵌入在导航控制器中。

这样想。 VC1是带有按钮的摘要,该按钮将用户带到VC2。 VC2是项目列表,但水平滚动视图中包含2个列表。 VC2的列表是VC2.1和VC2.2。这些是嵌入了表视图的视图控制器。 VC3是详细信息视图,可在单击VC2.1或VC2.2的单元格后访问。 VC1和VC2都有导航控制器。 VC2.1,VC2.2和VC3没有。

我正在尝试设置表格视图单元格以推送到详细信息视图。我能够使用以下方式进行模式化:

let storyboard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil)
let vc: MyDetailsViewController = storyboard.instantiateViewControllerWithIdentifier("myDetailsVC") as! MyDetailsViewController
let navigationController = UINavigationController(rootViewController: vc)
self.presentViewController(navigationController, animated: true, completion: nil)

然而,有些事情并没有像我希望的那样发挥作用。

  1. 视图显示导航栏但没有后退按钮
  2. 视图以模态显示
  3. 有没有办法让这个细节视图成为主导航控制器的一部分,并让它像所有其他导航视图一样从右向左滑动?

1 个答案:

答案 0 :(得分:1)

通过维护ViewController遏制,您只需访问parentViewController的{​​{1}}。

使用NavigationController添加ViewController的{​​{1}}时使用view <{1}}将addSubview:添加到ViewController

ParentViewController